1、通過C語言編寫一個簡單max函數,生成一個max.so鏈接庫
/*
* # -shared 為鏈接庫 讓編譯器知道是要編譯一個共享庫
* # -fPIC(Position Independent Code) 編譯生成代碼與位置無關
*/
int max(int a,int b)
{
return a>b?a:b;
}
/*
* gcc -Wall -g -fPIC -c max.c -o max.o
* gcc -shared max.o -o max.so
* -g -Wall 供調試使用,不是必須的
* 或者
* gcc max.c -fPIC -shared -o max.so
*/
2、使用Python語言調用libmax.so鏈接庫中的max函數
from ctypes import cdll
cur = cdll.LoadLibrary('./libmax.so')
a = cur.max(1, 2)
print(a)
