Python调用C语言函数


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

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

1.编写C语言代码,可参考 https://www.cnblogs.com/zhouzhishuai/p/9529487.html 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 ctypes
lib = ctypes.cdll.LoadLibrary('libdemo.so文件路径')
res = lib.add(1,2)
print(res)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM