本文將介紹c++中通過dll來呼叫c#**。
首先建立c#的「類庫」工程cshapedll。
然後輸入如下**:
[csharp]view plain
copy
//c++通過dll呼叫c#**
////by morewindows( )
using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
cshapedll
get}
public
intnumber2
get}
public
intaddfunc()
} public
class
cmywriteline
get}
public
void
writelinefunc()
} } // by morewindows( )
這裡有兩個類,乙個是myaddclass類,是用來做加法運算的,另乙個是cmywriteline,用來輸出文字的。
然後以c++控制台程式為例,c++**如下:
[cpp]view plain
copy
//c++通過dll呼叫c#**
//#using "cshapedll\\cshapedll\\bin\\debug\\cshapedll.dll"
//#using "cshapedll\\cshapedll\\bin\\release\\cshapedll.dll"
#include
#include
using
namespace
cshapedll;
intmain()
//by morewindows( )
編譯,出錯。提示如下:
fatal error c1190: 託管目標**需要「/clr」選項
再編譯,又出錯!提示如下:
1>正在編譯...
1>cl: 命令列error d8016 :「/mtd」和「/clr」命令列選項不相容
1>專案: error prj0002 : 錯誤的結果2 (從「e:\program files\microsoft visual studio 9.0\vc\bin\cl.exe」返回)。
這個怎麼解決了,很簡單,這是因為exe程式沒能載入到dll檔案導致的,將cshapedll.dll拷貝到exe程式所在目錄下,再執行,成功了。結果如下圖所示(winxp及win7均可以執行):
C 生成dll呼叫
用visual c 生成的dll檔案已經和以前的dll檔案有了本質上的區別。用visual c 生成的dll檔案在程式設計中更多的表現為一種類 class 或者類庫 class library 製作乙個元件 1.首先建立乙個新類庫工程檔案 file new project visual c proj...
C 呼叫外部C 生成DLL
生成dll c 檔案部分內容 h檔案 外部呼叫函式宣告 pragma once ifndef kinectdatagenerator h define kinectdatagenerator h initialize kinect extern c declspec dllexport void k...
javascript呼叫c 生成的dll
namespace uisintegrateview public static string statictest 1.上面生成 dll後statictest方法是呼叫不到的,不能用static關鍵字,類也不能用static的 2.生成dll前,改一下 應用程式 程式集資訊 使程式集com可見 打...