是否可以使用DllImport访问命名空间?

时间:2013-06-13 22:44:07

标签: c# c++ wpf namespaces dllimport

我刚刚创建了一个非托管C ++ DLL,并尝试在我的C#app中使用DllImport来访问函数调用。但是,每个函数都属于它自己的命名空间(有多个头文件,多个命名空间,多个类文件)。当我尝试调用函数DllImport时,它说无法找到入口点,我不禁觉得它与命名空间有关。如何使用其唯一的命名空间调用我的函数?感谢。

3 个答案:

答案 0 :(得分:2)

如果要检查功能的导出名称,可以使用:

dumpbin /exports my_native_lib.dll

如果它没有显示任何导出,导出函数的方式有问题,我们需要更多的代码。

答案 1 :(得分:2)

DllImport将用于“全局”C函数,而不是C ++类 - 对于C ++类,您必须为所需的函数创建C包装器。看到: using a class defined in a c++ dll in c# code

答案 2 :(得分:0)

您可以使用dependency walker查看任何dll的导出函数名称。 这样你就可以调用错位函数名。