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)