虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成。这样,就需要用python来调用c的代码了
具体流程:
c编写相关函数 ,编译成库
然后在python中加载这些库,指定调用函数。
这些函数可以char ,int, float, 还能返回指针。
以下示例:
通过python调用c函数,返回"hello,world 字符串"
新建c语言文件 hello.c
touch hello.c
1
2
3
4
5
6
|
#include <stdio.h> char *get_str() { return "hello,world" } |
编译成库
gcc -o hello.so --share -fPIC hello.c
新建python脚本
touch test.py
1
2
3
4
5
6
|
from ctypes import * dll = CDLL( "./hello.so" ) dll.get_str.restype = c_char_p str = dll.get_str() print (string_at( str , 11 )) |
执行python脚本
1
2
|
[feng@arch python_c]$ python test.py hello,world |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/0x12345678/p/6530022.html?utm_source=tuicool&utm_medium=referral