c#程式設計使用c語言編寫的dll檔案,資料型別問題
1樓:匿名使用者
編譯c#的時候,選擇向com+公開介面就可以了。但是執行的時候,必須有。netframework的支援。
請教c語言高手關於c語言呼叫c#封裝的dll檔案
2樓:匿名使用者
建議你放棄這個想法吧 純c下呼叫com 沒見過這麼用的能不用com的地方儘量不要用,效率很一般。
1,要麼用cpp重寫com的功能,寫成標準dll,然後c中呼叫2,要麼你別在c中呼叫了,用cpp呼叫c#的com
3樓:sxzy灬丨小柒
夠嗆啊,如果是c封裝的,c#去呼叫還靠譜一些。
c#呼叫c語言編寫的dll會不會產生什麼問題?
4樓:網友
首先,c#是可以呼叫c寫的dll的,引用時vs會自動將這個dll轉換為託管程式。
但是你這個dll是去呼叫別的c庫就會出問題,因為別的庫依然是非託管的。
5樓:網友
c#完全可以呼叫,你只需要注意點就是[dllimport("aio_")]的每次使用和釋放。
c#呼叫c語言**件
6樓:網友
在labview中有兩種型別的dll:常規dll 和 .net dll。這兩種庫都可以被c#呼叫,但呼叫方式不同:
1)呼叫常規dll
dllimport("", entrypoint="messageboxa")]
static extern int msgbox(int hwnd, string msg, string caption, int type);
2)呼叫。net dll
通過專案的「新增引用」將labview提供的。net dll 引入你專案中。
c語言的動態庫在c#中如何宣告及呼叫
7樓:處搖胼手胝足
1、將dll檔案複製到編譯路徑目錄(系統目錄或專案目錄等等);
2、匯出dll的功能介面;如:[dllimport("wdt_")]
internal static extern int initdio();
這個dll在c中的標頭檔案是這樣表達的:bool initdio(void);
bool 在c中是int型別的,對應的c#也是int 型別,呼叫dll通常都是靜態的外部引進的(static extern),internal 是可見屬性定義(自己根據需要定義);
3、參考dll對應的標頭檔案的資訊。如果c/c++封裝的dll是打算通用的,通常釋出標頭檔案,標頭檔案在c中是編譯器所需的檔案,dll的關鍵資訊都在標頭檔案展示出來。我們可以通過閱讀標頭檔案的包含資訊(如結構體、巨集定義,函式原型、功能註釋等),使用c#方式來匯出dll的函式介面來呼叫dll(如上2、)。
4、在需要的地方加上引數呼叫匯出的函式介面。
怎麼在c#中新增用c語言開發的動態鏈結庫dll檔案(vs2010)?
8樓:網友
總體來說,有兩種呼叫動態連線庫的方。
法(事實上,是有兩種從managed code呼叫unmanaged code的方法)
一種使用attribute,即。
dllimport("")]
static extern int somefunctionindll(string filename, uint pageno);
需引用名稱空間。
using ;
另一種方法是採用com方法,現倒入com元件的型別庫,(menu:project/add reference)
然後直接去new物件,呼叫其方法既可。
需要先註冊。
我用的大多都是c++的dll,c的木有試過,估計原理也是這樣子希望對你有幫助,o(∩_o~
9樓:網友
你的dll必須是com元件才能通過這種方式新增引用,如果不是就不行。
但是,如果不是com元件,有另外一種方式使用dll,就是import裡面的函式,需要做個包裝類,在裡面把dll中的方法包裝一下,具體的可以網上搜搜c# import dll用法。
c#中怎樣引用c編寫的dll
10樓:超人影視娛樂
c#中引用c編寫dl**l:
#include ""
#include ""
#ifdef _managed
#pragma managed(push, off)#endif
bool apientry dllmain( hmodule hmodule,dword ul_reason_for_call,lpvoid lpreserved
return true;
void helloworld()
#ifdef _managed
#pragma managed(pop)
#endif
編譯成功!接下來我們便可以新增乙個c#控制檯專案了c#測試**如下:
using system;
using ;
using ;
using ;
namespace testdll}}
11樓:網友
新增相應的dll引用,在vs裡面選擇「專案」-「新增引用」-「瀏覽」,就可以新增你想用的dll了,之後在程式裡面即可使用。
12樓:茂林修豬
只要生成過啦dll,直接在解決方案中點右鍵 新增引用。
選擇你需要的dll ok:
13樓:可可小車迷
直接可以新增後就可以引用的。「專案」-「新增引用」-「瀏覽」
14樓:網友
工具箱右鍵---選擇項---瀏覽。
c怎樣呼叫類,c 中怎樣執行呼叫的dll檔案
加個 class1 class program class1 這個是在你 上加的,沒有向樓上的那樣,改了你的 program class1 其實都一樣的,哥們我還是勸你上課認真聽吧,我就後悔上課沒認真聽的,後來被學校送去培訓了半年的.net,現在才找到入門的感覺,哎 大學的生活好好珍惜吧,等工作了就...
C呼叫C寫的dll,建構函式出問題
i不應該是這樣嗎?data dwr new data abc efg public data string dbname,string tname 加個public c 呼叫dll的問題。這個問題困擾我很久了!我寫了個一個測試,你看看的 首先是a.dll,我用的是def匯出,你也可以用declspe...
c語言檔案操作,C語言檔案操作
c語言標準庫提供了一系列檔案i o函式用於檔案操作,比如fopen 用於開啟檔案 fread fwrite 用於讀寫檔案 fseek 用於設定操作位置等等,一般c語言教程上都有檔案i o一章,細緻內容,可以找本教科書學習一下。下面是一個示例 實現了,將一個磁碟檔案中的資訊複製到另一個磁碟檔案中。in...