是否有适用于Python的好的程序集生成模块?

Sei*_*hin 6 python assembly emit

我正在寻找一个适用于Python的好的程序集生成模块。我发现了这个: PyAsm

但是效果不好。我想执行并生成程序集可执行文件,以进行简单的操作,例如加,减,除和乘。诸如.NET中的Reflection.Emit库之类的东西。

我正在Linux(Ubuntu 12.10 64bit)和Python2.7下进行开发。

例如,当我尝试使用PyAsm编译此简单的子代码时,它给我一个“分段错误(内核已转储)”:

from ctypes import c_int
from pyasm import Program
from pyasm.instructions import push, mov, ret, pop, sub
from pyasm.registers import eax, esp, ebp

def test():
    prog = Program(
        push(ebp),
        mov(ebp, esp),
        mov(eax, ebp.addr+8),
        sub(eax, 10),
        pop(ebp),
        ret(),
    )
    fun = prog.compile(c_int, [c_int])
    assert fun(1234) == 1224

if __name__ == '__main__':
    test()
Run Code Online (Sandbox Code Playgroud)

小智 3

不仅仅是一个很棒的名字: https: //github.com/Maratyszcza/PeachPy

查看它的用途: http: //www.yeppp.info