C 呼叫C 生成的dll

2021-07-31 01:40:48 字數 1714 閱讀 7651

本文將介紹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可見 打...