Python调用C/C++

来源:互联网 发布:vibe算法 编辑:程序博客网 时间:2024/05/01 00:05
Python部分步骤:1. 导入ctypes。2. 调用ctypes.CDLL("/api.so") ,此处共享库文件放在根目录。3. 调用api.so中封装的函数add,得到返回值。#!/usr/bin/pythonimport ctypesplib = ctypes.CDLL('/api.so')print "result: %d" %(plib.add(1,2))C++部分#include <Python.h>class MyClass {public:int add(int x,int y) { return x+y; }};extern "C" int add(int x,int y){MyClass obj;return obj.add(x,y);}MakefileOBJ=main.o#CC=gccGG=arm-linux-g++$(OBJ):hello.cpp#$(CC) -o $(OBJ) hello.c$(GG) -fPIC hello.cpp -o api.so -shared -I /home/sink/work/src/rootfs/rootfs_mini6410/usr/include/python2.7 install:cp $(OBJ) /usr/sbinuinstall:rm $(OBJ) /usr/sbin/main.oclean:rm -f *.so


0 0