我用NASM汇编程序编译了一个简单的汇编文件(代码如下)。然后我将尝试创建这个.obj
文件,并让Cython将其链接到.pyd
文件,以便Python可以导入它。基本上,我需要一种方法告诉Cython包含一个.obj
文件,以便与其他Cython/Python代码一起使用。在
首先,这是我的汇编代码:
;http://www.nasm.us/doc/nasmdoc9.html
global _myfunc
section .text
_myfunc:
push ebp
mov ebp,esp
sub esp,0x40 ; 64 bytes of local stack space
mov ebx,[ebp+8] ; first parameter to function
; some more code
leave
ret
我用nasm -f win32 myfunc.asm
编译这段代码
这给了我myfunc.obj
,这是我想包含在Cython编译的.pyd
中的内容。在
我可能完全被误导了,也许还有更好的方法来完全做到这一点。有没有简单的一行代码extern
可以从Cython声明一个外部对象?在
另外,标签_myfunc
应该是入口点。在
要从Cython调用
_myfunc
入口点,需要声明它:在声明之后,可以像调用Python函数一样调用Cython模块中的
_myfunc()
。当然,您需要将myfunc.obj
链接到您的.pyd
,如{a1}中所述。在相关问题 更多 >
编程相关推荐