是否有可能生成一个字节数组,然后让Windows像普通代码一样执行它? 假设我们有一些汇编代码:我可以在Delphi中随时编译代码并执行它吗?
inc ecx
它是程序的一部分。之后,我们与NASM编译,我们得到一个EXE在上述行转换为这样的事情:
00000035 41
是否有可能创建一个字节数组,与上面的字节填充和execute-所以增量实际发生?
我已经做出了我的超简单的解释型语言,但是因为它被解释为很慢。我不想为它编写一个真正的编译器,但我想让它更快 - 编译并即时运行。
谢谢。这是“编译”,但没有所有的EXE头文件,外部库等的链接。所以它应该更容易。 – Tom 2013-05-01 12:42:56
您仍然需要重新定位(修复)它。除非您不使用任何数据(或通过在启动时在寄存器中传递的指针间接寻址),并且仅在分支或PIC附近。 – 2013-05-01 16:53:38