python3利用ctypes传入一个字符串类型的列表

来源:互联网 发布:java培训讲师工资 编辑:程序博客网 时间:2024/06/10 19:26

c语言里:c_p.c

#include <stdio.h>void get_str_list(int n, char *b[2]){    printf("in c start");    for(int i=0;i<n;i++)    {        printf("%s", *(b+i));        printf("\n");    }    printf("in c end");}

编译为动态库的命令:

gcc -o hello1.so -shared -fPIC c_p.c

python里:p_c.py

from ctypes import *ll = cdll.LoadLibrarylib = ll("./12_23_ctype_list/hello1.so")n = 3str1 = c_char_p(bytes("nihao", 'utf-8'))str2 = c_char_p(bytes("shijie", 'utf-8'))a = (c_char_p*2)(str1, str2)lib.get_str_list(2, a)

输出

in c startnihaoshijiein c end
阅读全文
0 0