python3中调用C语言的函数
python3中调用C语言的函数
独钓渔 发表于2年前
python3中调用C语言的函数
  • 发表于 2年前
  • 阅读 451
  • 收藏 6
  • 点赞 0
  • 评论 0
摘要: 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(执行结查)

 

共有 人打赏支持
粉丝 43
博文 358
码字总数 131263
×
独钓渔
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: