是否有各种运行时C++汇编程序库?

Ant*_*ton 7 c++ assembly runtime reflection.emit

对于我的小爱好项目,我需要在运行时从C++程序中发出机器代码.我有基地址0xDEADBEEF,想写这样的东西:

Assembler a((void*)0xDEADBEEF);
a.Emit() << 
  Push(Reg::Eax) <<
  Push(Reg::Ebx) <<
  Jmp(0xFEFEFEFE);
Run Code Online (Sandbox Code Playgroud)

内联汇编程序不是我的选择,因为生成的机器代码取决于程序状态.

有人知道任何现有的库吗?如果不是,从头开发并使其成为开源是否是一个好主意?(我的意思是,如果它存在,有人会使用这个库吗?)

小智 8

看看Asmjit.这似乎是你正在寻找的东西.


Goz*_*Goz 3

您可以使用尼古拉斯·卡彭的软线。它确实不再受支持,因为他现在在 Transgaming 开发一款名为 SoftAsm 的类似产品。不过它还是能达到你想要的效果。

2014 年 6 月编辑:- 上面的 sourceforge 链接似乎已被删除,但它似乎可以在此处的LGPL 许可证下使用。