C 如何呼叫linux so庫

2021-06-07 06:24:16 字數 631 閱讀 2561

中的內容:

#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檔案所在的位置,鏈結器...