直接拷贝可以用,普通调用
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() # 调用print
ffi.cdef("int add(int a, int b);")
kkk = lib_IOTCAPIs.add(1,3) # 调用
print("add: ", kkk)