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中动态获取对象的属性和方法的教程
Apr 09 Python
通过源码分析Python中的切片赋值
May 08 Python
Python内置函数 next的具体使用方法
Nov 24 Python
Python内置模块turtle绘图详解
Dec 09 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
python与caffe改变通道顺序的方法
Aug 04 Python
python机器学习之KNN分类算法
Aug 29 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
Python中pass的作用与使用教程
Nov 13 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
Python基础之元类详解
Apr 29 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
PHP之数组学习
2011/05/29 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
浅析php原型模式
2014/11/25 PHP
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
javascript学习之json入门
2016/12/22 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
利用nodeJs anywhere搭建本地服务器环境的方法
2018/05/12 NodeJs
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
p5.js绘制旋转的正方形
2019/10/23 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
python函数的作用域及关键字详解
2019/08/20 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
机械制造与自动化应届生求职信
2013/11/16 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
党建示范点实施方案
2014/03/12 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
经费申请报告
2015/05/15 职场文书
法制工作总结2015
2015/07/23 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers