python调用c语言函数的一种简单实现方法
2016-07-19 00:00
751 查看
这个方法是利用了python的一个模块ctypes实现的。
首先是C语言的test.c源码函数:
gcc test.c -fPIC -shared -o libtest.so
源码test.c,生成so文件libtest.so
之后即可用python直接调用c中的函数test了,python调用如下:
用python执行,即可打印“aaabbbccc”字样,如图(字符没有换行,显示略挫):
首先是C语言的test.c源码函数:
#include <stdio.h> int test(char a[100]) { printf(a); return 0; }然后,使用gcc命令将其打包成一个共享库,就可以提供给python直接使用了,命令如下:
gcc test.c -fPIC -shared -o libtest.so
源码test.c,生成so文件libtest.so
之后即可用python直接调用c中的函数test了,python调用如下:
import ctypes so = ctypes.CDLL("./libtest.so") so.test("aaabbbccc")
用python执行,即可打印“aaabbbccc”字样,如图(字符没有换行,显示略挫):
相关文章推荐
- 转载-0xCCCCCCCC,一则程序的汇编分析
- C++中函数参数的默认值和函数重载的冲突
- 系统编程(文件操作)---C语言学习(2)
- VS2010 C++/CLR FFMpeg常见问题及解决方案汇总(将于2016.9进行完善)
- 在什么情况下Java比C++快?
- java类型转换要点(有区别与c语言)
- 用C语言实现九九乘法表
- c语言选择法排序
- c语言实现冒泡排序
- C++ STL总结
- C++ - PAT - L1-031. 到底是不是太胖了(天梯赛决赛题目)
- POJ 3070 Fibonacci
- C++ - PAT- L1-030. 一帮一(天梯赛决赛题目)
- VisTools: C++模仿Java体系
- C++ PAT - L1-029. 是不是太胖了(天梯赛决赛题目)
- 十个利用矩阵乘法解决的经典题目
- C++ - PAT - L1-028. 判断素数(天梯赛决赛题目)
- C++基础:运算符重载
- 浅谈c语言基础程序结构
- C++基础:C++类中默认的6个函数,及深拷贝和浅拷贝