如何在.net(C#)中使用dll中的C函数?
如果有一个用C编写的dll,那么如何在.net(C#)中使用它呢?
为了两种语言之间的数据类型兼容,是否严格需要为其编写头文件?
If there's a dll written on C, then how is it possible to use it in .net(C#)?
Is it strictly necessary to write a header file for it in order to data types be compatible between two languages?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您已经从上一个问题中了解了 P/invoke。关于头文件,它不用于托管互操作。相反,P/invoke 声明指定函数参数、调用约定等。
You already know about P/invoke from your previous question. Regarding the header file, it's not used for managed interop. Instead the P/invoke declarations specify the function parameters, calling conventions etc.
是的,这是可能的。它称为非托管 DLL。
这方面的教程还是蛮多的。
我之前在类似方面工作时遇到的其中一个是:
[1] http://www.codeproject.com/KB/mcpp/usingcppdll.aspx< /a>
Yes, it's possible. It's called unmanaged DLL.
There are quite a few tutorials in this regards.
One of them i had from before when i was working in this similar aspect is:
[1] http://www.codeproject.com/KB/mcpp/usingcppdll.aspx