1、util.c代码如下:
2、编译c代码,最后生成Python可执行的.so文件
(1)gcc -c util.c,将生成一个util.o文件
(2)gcc -shared util.c -o util.so,将生成一个util.so文件
[img]http://dl.iteye.com/upload/attachment/235949/d4c15783-227f-3ac8-95b6-4d5678f40dc2.png[/img]
3、在Python中调用
test.py代码如下:
4、运行
[img]http://dl.iteye.com/upload/attachment/235951/63d2f9ee-3d1b-3010-8836-463f51937ffe.png[/img]
5、结果截图
[img]http://dl.iteye.com/upload/attachment/235953/14c18599-995f-3465-afba-3ceca861f322.png[/img]
#include<stdio.h>
void display(char* msg){
printf("%s\n",msg);
}
int add(int a,int b){
return a+b;
}
2、编译c代码,最后生成Python可执行的.so文件
(1)gcc -c util.c,将生成一个util.o文件
(2)gcc -shared util.c -o util.so,将生成一个util.so文件
[img]http://dl.iteye.com/upload/attachment/235949/d4c15783-227f-3ac8-95b6-4d5678f40dc2.png[/img]
3、在Python中调用
test.py代码如下:
#!/usr/bin/python
from ctypes import *
import os
//参数为生成的.so文件所在的绝对路径
libtest = cdll.LoadLibrary(os.getcwd() + '/util.so')
//直接用方法名进行调用
print libtest.display('Hello,I am Dream')
print libtest.add(11,100)
4、运行
[img]http://dl.iteye.com/upload/attachment/235951/63d2f9ee-3d1b-3010-8836-463f51937ffe.png[/img]
5、结果截图
[img]http://dl.iteye.com/upload/attachment/235953/14c18599-995f-3465-afba-3ceca861f322.png[/img]