python 如何调用一个c模块
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
python如何调用c语言模块?只需要三步即可完成。
ps【每个编译后的.so文件只能在编译的环境中使用,一定不要跨平台使用!】
第一步,你需要先有这个c语言模块的文件,注意:是C语言的文件,以 .c 结尾的!
【如果已经有了c模块,直接进行第二步操作,如果so库文件也有了,就进行第三步】
a78690fd8ae8d24589ed5eac63644bb.png
第二步,生成so库文件
使用命令:
gcc -fPIC -shared c语言文件名.c -o lib库名.so
注意了,这个.so文件是在编译之后生成的,需要在执行的环境中生成,在linux和mac或者windows环境,每个环境下编译的文件都只能单独在对应的环境中使用,不能跨平台使用!
03c355cf911a4c6d75c236ca3305134.png
第三步,把.so文件放到python对应的项目调用文件中 ,使用python代码调用c模块开始:
1.导入ctypes模块
2.加载.so库文件
3.调用c的方法
5bc945d64605f56fa6983d878c8692d.png
C代码被成功调用!
问题来源于python学习网