示例:
1、C++代碼
/* 文件名:lib.h */
#ifndef LIB_H
#define LIB_H
extern "C" int __declspec(dllexport)add(int x, int y);
#endif
/* 文件名:lib.cpp */
#include "lib.h"
int add(int x, int y)
{
return x + y;
}
2、C# 調用代碼
[DllImport(@".\mydll.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern int add(int a, int b);
VC調VC的DLL時,可以跟蹤到程序裏,其它的和.NET有關的就只能取得結果,跟蹤不進去。
可以把C#項目屬性改爲啓用非託管調試,在C#中調用的地方添加斷點,F11進入dll函數調試
參考:http://bbs.csdn.net/topics/100049220