python怎么使用c函数返回值
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
编写文件 lib.c
int multiply(int num1, int num2)
{
return num1 * num2;
}
把 test.c 文件编成动态链接库
gcc -c -fPIC lib.c
gcc -shared lib.o -o lib.so
编写调用上面 multiply 函数的python程序 test.py
from ctypes import *
import os
lib = cdll.LoadLibrary(os.getcwd() + '/lib.so')
print(lib.multiply(2, 2))
说明: lib.c 与 test.py放在同一个目录下
执行上面的文件 test.py : python3 test.py
输出值: 4
以上lib.c 中的函数的输入参数都为 int, 函数返回值也为 int。