平台调用#define指令

时间:2016-01-16 11:31:28

标签: c# c++ c pinvoke

我想了解平台调用。所以,我理解了许多概念,但我如何在c#中调用#define指令。

示例:

在C ++方面我有这个:

#define dont_care_how_you_invoke_me (ptr)   

我试过这个:

[DllImport("mydll.dll")]
static extern void dont_care_how_you_invoke_me(IntPtr ptr);

这没有用。我已经在google上搜索了一段时间而无法找到任何内容,所以我甚至不确定这是否可行。

提前致谢

1 个答案:

答案 0 :(得分:0)

P#中的PInvoke导入方法对应于DLL中的实际导出函数,而不是函数的C / C ++语法表示(这就是为什么在处理C ++中的成员函数时使用名称修改的原因)

不使用C / C ++头文件作为函数的引用,而是使用工具查看从DLL导出的函数并直接使用这些函数。

一个很好的工具是Dependency Walker:http://www.dependencywalker.com/