1

我有一个最初用 c++ 编写的 dll,后来 c# 中的一个模块包装了它并使用了这个 Import :

[DllImport("myDLL.dll", CallingConvention=CallingConvention.Cdecl)]
    public static extern int init();

我现在正在使用 Iron Python,并希望使用在这个 c# 程序中导入的原始 DLL 中的函数。

基本上我不知道将什么导入python。当我在 c# 中有一个简单的项目被转换为 dll 时,我添加了它:

clr.AddReferenceToFileAndPath("my path")

然后我导入了命名空间和所有函数。

在这种情况下,我不明白我应该导入的女巫 dll 吗?任何帮助都会得到帮助

编辑:

这就是我正在做的事情:

 >>> import sys

  >>> import clr

 >>> clr.AddReferenceToFileAndPath(r"wrapperPath.dll")

>>> import wrapper

>>> from wrapper import *

>>> init()

Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'initialize' is not defined
4

1 回答 1

0

C# 没有没有类的函数。您的问题可能由 ParentClassName.init() 解决。最好有一个实例方法来调用 C++ P/Invoke 签名以进行调试或记录。祝你好运。

于 2015-03-24T13:56:02.153 回答