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


Posted in Python onFebruary 12, 2019

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.LoadLibrary
lib = ll("./12_23_ctype_list/hello1.so")
n = 3
str1 = 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 startnihao
shijie
in c end

以上这篇python3利用ctypes传入一个字符串类型的列表方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 解析XML python模块xml.dom解析xml实例代码
Feb 07 Python
在Python的web框架中编写创建日志的程序的教程
Apr 30 Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 Python
linux环境下Django的安装配置详解
Jul 22 Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
postman和python mock测试过程图解
Feb 22 Python
Python使用configparser库读取配置文件
Feb 22 Python
python正则表达式实例代码
Mar 03 Python
python处理写入数据代码讲解
Oct 22 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 Python
使用python绘制二元函数图像的实例
Feb 12 #Python
python matplotlib实现双Y轴的实例
Feb 12 #Python
对Pycharm创建py文件时自定义头部模板的方法详解
Feb 12 #Python
numpy基础教程之np.linalg
Feb 12 #Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 #Python
Python numpy中矩阵的基本用法汇总
Feb 12 #Python
python读取csv和txt数据转换成向量的实例
Feb 12 #Python
You might like
信用卡效验程序
2006/10/09 PHP
php 获取客户端的真实ip
2009/11/30 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
python实现验证码识别功能
2018/06/07 Python
Python实现多进程的四种方式
2019/02/22 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python实现邮件发送功能
2019/08/10 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
教育局长自荐信范文
2013/12/22 职场文书
团队队名口号大全
2014/06/06 职场文书
英语专业自荐书
2014/06/13 职场文书
六一活动主持词
2015/06/30 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
在js中修改html body的样式
2021/11/11 Javascript
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang