繁体   English   中英

从C#代码调用C ++本机dll

[英]Call C++ native dll from C# code

我编写了完整的本机C ++代码DLL,我想通过P / Invoke通过C#代码调用他的方法。 我是否需要更改本机dll属性中的内容?

P / Invoking需要stdcall约定。 因此,查看所有函数声明是否都在__stdcall之前。 否则堆栈会损坏。

另请参阅PInvokeStackImbalance C#调用非托管C ++函数

不,您不需要更改DLL本身的属性,但您需要确保调用约定与C#中使用的约束匹配。 然后你需要在C#中使用匹配的参数声明你的可调用函数,并返回C ++中的那些函数。

现在,您可以使用C#调用函数。

除了C ++函数的调用约定之外,它应该相当容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM