直接拷貝可以用,普通調(diào)用
python腳本
from ctypes import cdll
print("==================\n")
lib = cdll.LoadLibrary('./libtest.so')
a = lib.add(11, 2)
str = lib.test()
print(str)
print("add: ",a)
print("==================\n")
生成libtest.so
gcc -fPIC -shared test.c -o libtest.so
C代碼:
#include "test.h"
int test(){
printf("hello so====\n");
return 0;
}
int add(int a, int b){
return a+b;
}
.h文件
#include "stdio.h"
int test();
int add(int, int);
以上代碼可以直接使用,
還可以通過FFI加載.so庫,python腳本編寫方法
from cffi import FFI
ffi = FFI()
lib_IOTCAPIs = ffi.dlopen("./libtest.so")
ffi.cdef("int test();")
lib_IOTCAPIs.test() # 調(diào)用print
ffi.cdef("int add(int a, int b);")
kkk = lib_IOTCAPIs.add(1,3) # 調(diào)用
print("add: ", kkk)