python 调用c语言函数

虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成。这样,就需要用python来调用c的代码了
具体流程:
c编写相关函数 ,编译成库
然后在python中加载这些库,指定调用函数。
这些函数可以char ,int, float, 还能返回指针。

以下示例:
通过python调用c函数,返回"hello,world 字符串"
新建c语言文件 hello.c
touch hello.c

#include <stdio.h>

char *get_str()
{
    return "hello,world"
}

编译成库
gcc -o hello.so --share -fPIC hello.c

新建python脚本
touch test.py

from ctypes import *

dll = CDLL("./hello.so")
dll.get_str.restype = c_char_p
str = dll.get_str()
print(string_at(str, 11))

执行python脚本

[feng@arch python_c]$ python test.py 
hello,world

posted on 2017-09-28 15:42  Hackergin  阅读(405)  评论(0编辑  收藏  举报