欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python和C语言互相调用

时间:2023-05-24
1、Python调用C动态链接库

使用C语言编译产生共享库,然后python使用ctype库里的cdll来打开共享库。

  (1)C语言文件:pycall.c

#include #include int foo(int a, int b) { printf("you input %d and %dn", a, b); return a+b; }

(2)gcc编译生成动态库libpycall.so:gcc -o libpycall.so -shared -fPIC pycall.c。使用g++编译生成C动态库的代码中的函数或者方法时,需要使用extern "C"来进行编译。

(3)Python调用动态库的文件:pycall.py

import ctypes ll = ctypes.cdll.LoadLibrary lib = ll("./libpycall.so") lib.foo(1, 3) print('***finish***')

(注意在linux下测试效果比较好)

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。