码迷,mamicode.com
首页 > 编程语言 > 详细

python3中调用C语言的函数

时间:2015-11-17 11:08:34      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

一, 先用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(执行结查)

技术分享

 

python3中调用C语言的函数

标签:

原文地址:http://my.oschina.net/lenglingx/blog/531229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!