Python调用C/C++

Python部分
步骤:
1. 导入ctypes。
2. 调用ctypes.CDLL("/api.so") ,此处共享库文件放在根目录。
3. 调用api.so中封装的函数add,得到返回值。
#!/usr/bin/python
import ctypes
plib = 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);
}

Makefile

OBJ=main.o
#CC=gcc
GG=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/sbin
uinstall:
	rm $(OBJ) /usr/sbin/main.o
clean:
	rm -f *.so


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值