python呼叫linux下的so檔案
#建立乙個max.c檔案
int max(int a, int b)
/*執行如下指令編譯生成so動態庫
gcc max.c -fpic -shared -o max.so
* -shared 為鏈結庫 讓編譯器知道是要編譯乙個共享庫
* -fpic(position independent code) 編譯生成**與位置無關
* 如果向能夠除錯可機上-g -wall等引數
*/
#!/usr/bin/python
#ctypes是python中呼叫c動態鏈結庫的函式;
#使用cdll動態載入共享庫,乙個共享庫對應乙個cdll物件;
#呼叫cdll的loadlibrary方法或直接呼叫其建構函式傳進乙個cdll物件;
#關於ctypes可搜尋「python ctypes」來檢視
from ctypes import cdll
cur = cdll.loadlibrary('./max.so')
a = cur.max(1111, 2)
print(a)
然後執行python即可。
Linux 動態庫 so 使用
折騰了會 dll 覺得不爽,改玩 so 去 一.編寫個c檔案 test.c include file test.c int say int add int x,int y 二.編譯成動態庫 so gcc shared o test.so test.c usr lib gcc x86 64 pc li...
動態庫 so 函式呼叫
最近剛剛換工作,第一次接觸到要從.so動態庫檔案裡呼叫函式。目前只得到.so庫檔案和封裝的各類函式介面。在網上搜了一些,然後根據自己的 做了整理。首先,理解動態庫,linux中的.so檔案類似於windows中的dll,是動態鏈結庫。當多個程式使用同乙個動態鏈結庫時,既能節約可執行檔案的大小,也能減...
so動態連線庫遷移
1 找到對應路徑 cd usr local lib 2 將.so檔案拷貝到指定伺服器中 scp r locka root 192.168.0.54 root 3 將檔案存放於 usr local lib目錄 4 靜態編譯路徑新增 在 etc ld.so.conf.d 目錄下,新建檔案 lock x8...