一个简单的python程序不能访问myd

2024-05-14 19:27:41 发布

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

我创建了一个简单的MFC.dll文件,并且我可以通过另一个MFC应用程序访问它。我试图使用Python 3.2.2执行相同的操作,但加载库后,它不会检测dll中的函数,并给出如下错误:

    Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python32\lib\ctypes\__init__.py", line 353, in __getattr__
    func = self.__getitem__(name)
  File "C:\Python32\lib\ctypes\__init__.py", line 358, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'SayHello' not found

…我想。。

我试图找到一个简单的程序来使用Python访问MFC dll文件,但到目前为止还没有成功。为了让大家知道,我已经读过ctypes的文章,并且一直在寻找很多东西来实现这一点。我的主要目标是使用Python作为脚本语言来与MFC C++ DLL进行接口。我一直在读很多,我能找到的最接近的是和皮多芬在一起。请在这方面提供帮助。

干杯。


Tags: 文件nameinpyselfinitlibline
1条回答
网友
1楼 · 发布于 2024-05-14 19:27:41

我的问题已经解决了。对于那些将来可能会遇到这种情况的人,我只想粘贴python脚本代码,以便在python脚本中访问函数。使用C++函数的方法显然是在.dll文件中声明。在

extern "C" __declspec(dllexport) int SayHello(int strNo);

您的Python脚本应该是这样的:(需要getattr()函数来访问Python脚本中的c++函数)

^{pr2}$

。。。在

如果有人认为我错了,请随时纠正我。我是Python的初学者,它以这种方式为我工作,之后我可以继续编写脚本。 希望这能帮助别人。在

干杯。在

相关问题 更多 >

    热门问题