Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166135
  • 博文数量: 48
  • 博客积分: 365
  • 博客等级: 一等列兵
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-11 17:59
文章分类

全部博文(48)

文章存档

2017年(21)

2016年(8)

2013年(2)

2012年(7)

2011年(10)

我的朋友

分类: Python/Ruby

2011-11-23 11:03:25

原来地址:http://techpool.iteye.com/blog/646304


2010
-04-17
Linux下Python执行C函数
    博客分类:
1、util.c代码如下:
Java代码  收藏代码
  1. #include  
  2.   
  3. void display(char* msg){  
  4.   
  5.     printf("%s\n",msg);  
  6.   
  7. }  
  8.   
  9. int add(int a,int b){  
  10.     return a+b;  
  11. }  


2、编译c代码,最后生成Python可执行的.so文件
(1)gcc -c util.c,将生成一个util.o文件
(2)gcc -shared util.c -o util.so,将生成一个util.so文件


3、在Python中调用
test.py代码如下:
Java代码  收藏代码
  1. #!/usr/bin/python  
  2.   
  3. from ctypes import *   
  4. import os    
  5. //参数为生成的.so文件所在的绝对路径  
  6. libtest = cdll.LoadLibrary(os.getcwd() + '/util.so')    
  7. //直接用方法名进行调用  
  8. print libtest.display('Hello,I am Dream')    
  9. print libtest.add(11,100)  


4、运行



5、结果截图
阅读(1758) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~