Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法从Python模块构建类似C的DLL?_Python - Fatal编程技术网

有没有办法从Python模块构建类似C的DLL?

有没有办法从Python模块构建类似C的DLL?,python,Python,我有一个Python模块,除了常规的全局函数外什么都没有。我需要从另一个只能调用C DLL的业务域脚本环境调用它。是否有必要构建Python模块,以便对其他代码调用它,就像从DLL导出的标准C函数一样?这是针对Windows环境的。我知道IronPython,但据我所知,它只能构建.NET程序集,不能作为C DLL函数调用。看看Codeproject文章。一种方法是将python函数包装在C dll中,并将其公开给被调用方 COM是解决这个问题的二进制协议。但是您必须将这个python dll包

我有一个Python模块,除了常规的全局函数外什么都没有。我需要从另一个只能调用C DLL的业务域脚本环境调用它。是否有必要构建Python模块,以便对其他代码调用它,就像从DLL导出的标准C函数一样?这是针对Windows环境的。我知道IronPython,但据我所知,它只能构建.NET程序集,不能作为C DLL函数调用。

看看Codeproject文章。一种方法是将python函数包装在C dll中,并将其公开给被调用方


COM是解决这个问题的二进制协议。但是您必须将这个python dll包装在COM包装器中。并在调用端添加一些代码。

标准解决方案是在应用程序中嵌入Python解释器(它已经是一个C DLL)


Py2exe可以通过编译和嵌入python代码+解释器,从python代码生成COM DLL。它目前还不支持常规DLL。为此,请参见Dirkgente关于自己嵌入python的回答