文件名称:inline-asm:Haskell中的内联汇编代码!
文件大小:15KB
文件格式:ZIP
更新时间:2024-06-12 01:04:26
Haskell
内联汇编 当内联C太安全时。 您是否尝试过inline-c ,但这还不够吗? 你需要更多? 似乎什么都不满足? inline-asm进行救援! 而且,由于内联汇编只是通常的Haskell值(即使在编译时进行了操作),因此可以执行很多非常酷的操作,例如显式编译时循环展开。 例子 交换两个Int并将其中之一增加两个: defineAsmFun " swap2p1 " [ asmTy | (a : Int) (b : Int) | (_ : Int) (_ : Int)] [asm| xchg {a}, {b} add $2, {b} |] (请注意{a} , {b}反引号) 获取ByteString的最后一个字符,如果为空,则为默认字符: defineAsmFun " lastChar " [ asmTy | (bs : ByteString) (def
【文件预览】:
inline-asm-master
----.travis.yml(330B)
----package.yaml(1KB)
----test()
--------Spec.hs(6KB)
----stack.yaml(33B)
----LICENSE(1KB)
----app()
--------Main.hs(830B)
----src()
--------Language()
----Setup.hs(46B)
----.gitignore(32B)
----README.md(6KB)
----ChangeLog.md(764B)