int add(int a,int b){ return a+b; }
g++ test.cpp -fPIC -shared -o libtest.so
import ctypes if __name__ == '__main__': dl=ctypes.cdll.LoadLibrary lib=dl('./libtest.so') a=lib.add(2,3) print(a)
python python_ctypes.py
就会报以下错误AttributeError: ./libtest.so: undefined symbol: add
extern "C" {}
,申明为C,利用g++使用c的方式编译#include<iostream> extern "C"{ int add(int,int); } int add(int a,int b){ // 该函数需要接受三个参数 return a+b; }