dynasm 应该如何设置?

我正在尝试使用dynasm。我找到了几个在线教程,但它们都需要使用奇怪的代码行,如“| .arch x64”,而我的编译器(MSVC)拒绝它。有关离线 Lua 解析器和.dasc文件的提及,但这些教程都没有提到应该如何设置它们。dynasm 应在项目中如何设置?

点赞
用户134758
用户134758

DynASM允许您通过混合C代码和ASM代码更轻松地编写汇编。 DynASM文件必须经过预处理。将DynASM文件(.dasc)编译的输出是一个C文件(.c),您可以稍后将其集成到您的项目中。

要预处理DynASM文件,您应该使用随LuaJIT源代码一起提供的dynasm程序(dynasm / dynasm.lua)。您提到的“奇怪”行是由DynASM处理的ASM代码。 asm代码存储为字节值,存储在结果C程序中的名为actions的数组中。

Josh Haberman有一个关于DynASM的很棒的教程:Hello,JIT World:简单JIT的乐趣。该教程包括示例代码。该代码可用作GitHub存储库。获取它并开始使用它(注:当前主分支无法构建,我刚刚发送了拉取请求以解决它)。

其他关于DynASM的好介绍包括:

2017-06-09 17:43:13