c#.net2005 调用evc4.0生成的dll文件
又好久沒有寫博客了,這一段時間一直在做東西,碰到了一些問題并解決掉了,所以把它寫出來。寫程序時碰到的第一個問題就是用c#.net2005 調用evc4.0生成的dll文件。
首先,在調用自己寫的dll時,一定格式要正確,也就是這樣的:
在*.h文件中加入
extern "C" __declspec(dllexport) int? MyFunction(void);
在*.cpp文件中加入
__declspec(dllexport) int MyFunction(void)
{
??? // 在此處添加實現代碼
??? return 12;
}
在*.edf文件中加入
EXPORTS
?? MyFunction??
?其次,在生成dll文件時,選定正確的平臺,也就是pocketpc2003,win32 AMR4I,因為C#是pocketpc2003或windows mobile 5.0的,并且C#2005的模擬器是支持各種架構的,不像以前的模擬器只支持x86。也就是說如果ppc device是x86的,也可以在編譯時,選擇x86。
最后,就可以將編譯好的dll文件,加入到C#工程的debug文件夾下。
1。將加入的dlll文件add到工程中,并將屬性改為copy always。
2。在調用dll文件的*cs文件中加入命名空間System.Runtime.InteropServices;
3。調用格式為:
? [DllImport("Test.dll")]
??????? extern static int MyFunction(void);
在[DllImport("*.dll")]中還有一些參數,可按需要加入。
注:
在調用dll文件后在模擬器或Device上運行時會出現一些錯誤信息,這些錯誤的含義是:
Missing Method Exception 是C#沒有找到該dll文件的入口。
No Support Exception是在調用dll文件時,沒有使用正確的數據類型轉換。
轉載于:https://www.cnblogs.com/randylee/archive/2006/09/24/513126.html
總結
以上是生活随笔為你收集整理的c#.net2005 调用evc4.0生成的dll文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 串口通信接线方法
- 下一篇: 英文简历的几种常见形式