中的內容:
#include
int sum(int a, int b)
int minus(int a, int b)
中的內容:
using system;
using system.runtime.interopservices;
public
class libtestdemo
", x);
x = minus(88, 42);
console.writeline("88 - 42 = ", x);}}
1、在linux上將libtest.c編譯成動態庫libtest.so
#gcc -c -o libtest.o libtest.c
#gcc -shared -o libtest.so libtest.o
2、編譯c#
用windows的vs環境將main.cs編譯成main.exe
或用裝有mono環境的linux將main.cs編譯成main.exe:
#mcs main.cs
3、在linux上將main.exe和libtest.so放在同乙個目錄下,然後執行main.exe,即可看到c#中呼叫so庫的結果
#mono main.exe
C如何呼叫C 的庫
前段時間遇到了乙個c呼叫c 的介面的問題,現在把思路整理一下。提供給我們的是c 標頭檔案 h 和靜態庫 a c不可以直接呼叫c 我們採用c 呼叫c 的方法,另外建乙個適配層 在我們的c 適配層中加上extern c c呼叫c 適配層,適配層呼叫c 就ok了。下面用乙個例子來說明一下 1 模擬條件on...
c 如何呼叫動態鏈結庫(託管)
net平台上,呼叫dll檔案有2種含義 1 呼叫託管dll,即使用.net平台開發的dll,屬於託管 2 呼叫非託管dll,即傳統的dll,一般是c vb,delphi等等開發出來的,屬於非託管 對於託管呼叫,舉例如下 比如一段座標轉換的程式,在名字空間mydll裡,有三個類 在函式類裡有兩個方法。...
c 如何呼叫lib檔案 靜態庫檔案
include includeusing namespace std int main 新建乙個能產生lib的工程檔案 includeclass mylib 產生好lib後,新建另外乙個工程引用lib 在vc 目錄中,包含目錄與庫目錄分別填寫上lib標頭檔案所在的位置以及lib檔案所在的位置,鏈結器...