Python调用返回值为字符串的C函数(C库)

先写一个简单的C程序,定义函数hello。

#include 
#include 
char* hello(){
  return "hello";
}

编译成so文件
gcc -o hello.so -shared -fPIC hello.c
在这里插入图片描述
写python文件调用hello

import ctypes
from ctypes import *
ll = ctypes.cdll.LoadLibrary
lib = ll("./hello.so")
s=lib.hello
s.restype=c_char_p
s=s()
print s
print '***finish***'

在这里插入图片描述
注意要加上s.restype=c_char_p

Python调用返回值为字符串的C函数(C库)_第1张图片

你可能感兴趣的:(python)