您的位置:首页 > 编程语言 > C语言/C++

python3中调用C语言的函数

2015-11-17 00:00 686 查看
摘要: python3中调用C语言的函数

一, 先用C语言写好一个函数库

#include<stdio.h>
int add(int num1, int num2)
{
return num1 + num2;
}

int sub(int num1, int num2)
{
return num1 - num2;
}

int mul(int num1, int num2)
{
return num1 * num2;
}

int div(int num1, int num2)
{
return num1 / num2;
}


二, 然后使用gcc编译成静态库

gcc -c -fPIC math.c
gcc -shared math.o -o math.so


三, 使用python的ctypes库导入该静态库

#!/opt/python3/bin/python3
#
from ctypes import *
import os

print("begin ......")
libmathpath = os.path.join(os.getcwd(),"math.so")
print(libmathpath)
libmath = CDLL(libmathpath)
print("-----------------")
print(" ADD: 21 89")
print(libmath.add(21,89))
print("-----------------")
print(" SUB: 124 89")
print(libmath.sub(123,89))
print("-----------------")
print(" MUL: 12 77")
print(libmath.mul(12,77))
print("-----------------")
print(" DIV: 183 3")
print(libmath.div(183,3))
print("-----------------")


4, 执行结果如下:

begin ......
/home/git/math.so
-----------------
ADD: 21 89
110
-----------------
SUB: 124 89
34
-----------------
MUL: 12 77
924
-----------------
DIV: 183 3
61
-----------------


如图1(math.c源码)



如图2(testmath.py)源码



如图3(执行结查)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: