博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python调用C语言函数
阅读量:6038 次
发布时间:2019-06-20

本文共 495 字,大约阅读时间需要 1 分钟。

在C调用Python模块时需要初始化Python解释器,导入模块等

但Python调用C模块却比较简单,ctypes模块提供了和C语言兼容的数据类型和函数来加载dll或so文件,因此在调用时不需对源文件做任何的修改

1.编写C语言代码,可参考 demo.c 编写。

2.接下来将C文件编译为.so文件(或windows下为dll)输入 gcc demo.c -fPIC -shared -o libdemo.so

其中-shared代表这是动态库,-fPIC使得位置独立(如果程序本来就是独立的话会有警告,无视即可),-o指定了输出文件,改成dll后缀一样可以用。

此时在当前目录下就生成了libhello.so 的动态链接库

3.在Python编辑器里面输入以下代码,就可以看到控制台输出 3 了。

import ctypeslib = ctypes.cdll.LoadLibrary('libdemo.so文件路径')res = lib.add(1,2)print(res)

 

转载于:https://www.cnblogs.com/zhouzhishuai/p/9530256.html

你可能感兴趣的文章
基于清单的启动器的实现
查看>>
外网用户通过citrix打印慢的解决方法
查看>>
STL容器的使用
查看>>
关于std::map
查看>>
JXL导出Excel文件兼容性问题
查看>>
VBoot1.0发布,Vue & SpringBoot 综合开发入门
查看>>
centos7 安装wps 后 演示无法启动
查看>>
git简单命令
查看>>
LAMP编译部署
查看>>
XenDesktop7.6安装部署入门教程
查看>>
HashMap的工作原理及HashMap和Hashtable的区别
查看>>
GregorianCalendar日历程序
查看>>
Sublime 中运行 Shell 、Python、Lua、Groovy...等各种脚本
查看>>
【Java集合源码剖析】ArrayList源码剖析
查看>>
linux的目录结构
查看>>
终极解决方案:windows10开机黑屏,死机
查看>>
MySql数据库3【优化1】表的优化
查看>>
正则表达式
查看>>
css 浮动的时候如何,div进行居中
查看>>
关于easyui中datagrid分页问题--摘
查看>>