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)
05-28 09:50