C可以使用C 的Dll庫嗎?函式如何呼叫

時間 2022-07-17 06:00:03

1樓:匿名使用者

顯然是可以的.拿一個最簡單的例子呼叫messagebox這個api函式:

public delegate int delegatemessagebox(intptr hwnd,string lpstring,string lpcaption,int type);

intptr hmodule = kernel32.loadlibrary("user32.dll");

if (hmodule != intptr.zero)

kernel32.freelibrary(hmodule);

}其中用到了其他幾個api函式,我封裝到了kernel32這個類裡.你自己查下就可以了.這個是掉的windows的dll.

調自己的dll就修改下loadlibrary和getprocaddress為你自己的就可以了.

指標可以傳引用,函式指標可以傳delegate,控制代碼在c#中傳intptr型別就可以了

2樓:匿名使用者

c++生成庫後在類中外部引用

[dllimport("dlldir")]

宣告的方法必須與在相應庫的.def檔案中宣告的一樣

3樓:匿名使用者

使用c++的dll庫和指標,控制代碼沒有關係的吧,怎麼用可以在網上查一下..

4樓:匿名使用者

[dllimport]

如何在c 中使用系統的dll檔案

dll和普通可執行程式的區別只在於入口函式而已。其他都一樣。exe的入口在啟動的時候呼叫,而且僅此一次 以winmain形式存在。dll則是會在被程序載入,程序關閉,執行緒建立和退出的時候都會被呼叫 以dllmain的形式存在。如果你用builder c 用vc 類似 1.開啟bcb 新建 dll ...

在C 如何定義並使用陣列,在C 中的主函式中,如何定義一個陣列,而這個陣列的大小不確定,大小和數值由使用者從鍵盤輸入?

張老師情感分析 材料 工具 電腦方法如下 1 首先使用 string s new string 6 定義一個長度為6的字串陣列。2 接著使用 int i new int 6 定義一個長度為6的整型陣列,如下圖所示 3 使用 string str new string 定義長度為3的字串陣列,如下 4...

C 中lib和dll的區別,生成以及使用詳解

首先介紹一下靜態庫 靜態連結庫 動態庫 動態連結庫 的概念,首先兩者都是 共享的方式。靜態庫 在連結步驟中,聯結器將從庫檔案取得所需的 複製到生成的可執行檔案中,這種庫稱為靜態庫,其特點是可執行檔案中包含了庫 的一份完整拷貝 缺點就是被多次使用就會有多份冗餘拷貝。即靜態庫中的指令都全部被直接包含在最...