在Python中加载DLL文件并调用函数

2024-10-04 05:20:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在加载DLL文件和调用Python函数时遇到问题。 我试过很多教程,但还是搞不懂它是如何工作的。 这是我要导出为DLL文件的类。我使用简单的C代码。在

namespace DemoClassLib
{
    public class cLib
    {
        public int increment(int x)
        {
            return x + 1;
        }
    }
}

生成C代码后,我将DLL文件命名为“演示库.dll". 我用ctypes加载DLL文件。到现在为止一切都很好。在

^{pr2}$

从那一点开始,我不能继续了。 我试过的所有命令都失败了。在

n = c_int(1)
myDll.increment(n)

它不断地向我显示错误。 如何在Python中调用方法“increment()”? 如何传递输入并从中检索输出? 我对Python很陌生。 有人能帮帮我吗? 如果您能提供源代码教程,我将不胜感激。在


Tags: 文件函数代码returnclib教程publicnamespace
1条回答
网友
1楼 · 发布于 2024-10-04 05:20:37

对于ctypes不能这样做,因为二进制文件中没有简单的“increment”符号,因为increment方法是类的成员。即使这是C++,名字也会被损坏。但是使用C时,您甚至不会在符号表中得到错误的名称,因为代码是由.NET framework解释的。在

如果出于某种原因必须与C库接口,那么可以考虑尝试IronPython(http://ironpython.net/)它是运行在.NET framework上的Python,具有对CLR的完全访问权限。上面的建议公开COM接口的评论也可以起作用。在

相关问题 更多 >