
[英]How can I use SOS.dll within a C# program for automated debugging purposes?
[英]How to use a C dll within a c# program
我有一个.c和.h文件被修改为在cpp应用程序中使用,实际上他们有
#ifdef __cplusplus
extern "C"{
#endif
预处理线。 我想知道是否以及如何使用ac#program中定义的函数。 也许我必须为这段代码创建一个DLL?
这是一个从MSDN获取的简单示例:
using System;
using System.Runtime.InteropServices;
class PlatformInvokeTest
{
[DllImport("msvcrt.dll")]
public static extern int puts(string c);
[DllImport("msvcrt.dll")]
internal static extern int _flushall();
public static void Main()
{
puts("Test");
_flushall();
}
}
这假设您愿意将现有代码编译为.DLL
你们似乎没有得到它 - 他没有dll,他有c ++源文件:
你有两个选择
将c ++代码转换为C#并将其直接合并到您的应用程序中
使用c ++编译器从源文件创建一个dll,并使用PInvoke访问它
如果您需要修改c ++代码来创建dll或使其可以从C#访问,我们无法在不发布完整代码的情况下知道。
这是MSDN博客上的一个明显示例。 您可以使用IntPtr加载DLL路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.