通过ctype由python向C语言传递char *,获取新结果

 test.c文件

#include 
void get_new_string(char *dst, int len)
{
    int i=0;
    for(i=0; i

 

gcc -fPIC -c test.c

gcc -shared -o test.so test.o

编译生成so动态链接库文件

 

from ctypes import *

buf = create_string_buffer('hello'.encode('gbk'), 6)

c = CDLL("./test.so")

c.get_new_string(buf, 5)

print(buf.value)

---->
b'ifmmp'

 

你可能感兴趣的:(python,C)