一、补充一点知识
动态链接库是实现共享函数库的一种方式,动态链接提供了一种方法,使得进程可以调用不属于其可执行代码的函数,函数的可执行代码位于一个dll文件中。
在windows下,动态链接库多数是带有“.dll"扩展名的文件,linux系统中通常是”.so"文件。
操作系统:ubuntu 20.04
GCC版本:gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
python3版本:Python 3.8.10
gcc --version #查看gcc的版本
python3 --version #查看python3的版本
lsb_release -a #查看ubuntu系统版本
二、代码
#include <stdio.h>
#include <stdlib.h>
int addtwonum(int a,int b){
return a + b ;
}
生成动态链接库的命令:
gcc -o testC.so -shared -fPIC testC.c
import ctypes
lib = ctypes.cdll.LoadLibrary("./testC.so")
ans = lib.addtwonum(2,5)
print(ans)
运行python文件就可以得到最后的结果。