使用 python 和调用函数自省 C++ dll

Posted

技术标签:

【中文标题】使用 python 和调用函数自省 C++ dll【英文标题】:Introspecting a C++ dll with python and calling function 【发布时间】:2016-01-06 00:21:41 【问题描述】:

我目前正在寻找一种方法来调用 C++ dll 中的函数。我使用 C# 和 C++,但似乎我不能在 dll 上使用反射并通过它们的名称和字符串调用函数。

我看到一些关于 ctypes 的帖子,但我不确定它是否符合我的需要。我需要的是一个可以内省 C++ dll 的 python 库,然后我可以调用函数,比如 getFood() 和 myDll.call('getFood') 这样的字符串。

谢谢。

【问题讨论】:

你能用C++来调用函数吗?如,您要调用的函数是否正确导出到 DLL 中? 【参考方案1】:

是的,ctypes 就是您所需要的。使用:

dllobj = ctypes.WinDLL("dll file name")

将 DLL 加载到内存中。然后,您可以找到函数并调用它们。 This 解释得很好。

【讨论】:

以上是关于使用 python 和调用函数自省 C++ dll的主要内容,如果未能解决你的问题,请参考以下文章

C++ 与 Python 函数通信

c++ 怎么调用 dll?

Python调用DLL动态链接库——ctypes使用

python中的反射和自省

Python自省与反射

从python调用c++函数