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

#include

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(执行结查)

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

python调用math函数_python3中调用C语言的函数相关推荐

  1. python获取系统时间函数_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  2. 【Python】如何在Excel中调用Python脚本,实现数据自动化处理

    这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作. 说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5 ...

  3. python连接sap接口_python中调用api接口

    CDN之API以及SDK的调用 简介 阿里云CDN提供了丰富的API接口,除了控制台,CDN还开发了多样化的接口.目前我们推荐用户使用新版API,详情请参见新版API参考.同时CDN提供了多语言SDK ...

  4. excel调用python编程-如何在excel中调用python脚本

    如何在excel中调用python脚本 发布时间:2020-07-03 14:15:28 来源:亿速云 阅读:155 如何在excel中调用python脚本?针对这个问题,这篇文章详细介绍了相对应的分 ...

  5. java怎么调用存储函数_java中调用存储过程或存储函数的方法

    java中调用存储过程或存储函数的方法 1.调用存储过程:CallableStatement clstmt = null;try {clstmt = conn.prepareCall("{c ...

  6. java 调用htm中js函数_Lua中调用C函数(lua5.2.3)

    Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性.对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数.对于那些可被L ...

  7. python和uipath区别_Uipath中调用Python的方法

    难度等级:初学者. 这篇文章将有助于在UiPath中使用Python活动(Activity),该活动允许从UiPath调用和执行Python脚本.不仅可以执行Python脚本,还可以将参数传递给Pyt ...

  8. matlab怎么调用主函数,Matlab中一个函数调用另外一个函数的操作步骤

    原创Matlab中一个函数调用另外一个函数的操作步骤 编辑:小安 来源:PC下载网时间:2019-11-18 13:27:35 最近很多伙伴才刚刚安装入手Matlab这款软件,而本节就重点介绍了关于M ...

  9. java 调用matlab函数_java中调用Matlab的函数+注意事项

    一.matlab版本必须支持java 在command 模式下面运行deploytool,如果支持该命令即可使用 二.matlab中function的书写 %定义一个函数operation(a,b), ...

最新文章

  1. 租网站服务器安全吗,租用的服务器安全吗
  2. python牛顿法计算平方根_常用的平方根算法详解与实现
  3. pythonweb管理电脑_Python远程控制局域网计算机网络远程控制软件Python的开发,python,电脑,web...
  4. java offsetdatetime_Java OffsetDateTime withHour()用法及代码示例
  5. [论文翻译] Class-incremental learning: survey and performance evaluation on image classification
  6. java:IO流学习小结
  7. PostgreSQL数据保留窗口功能的使用
  8. 转:js中arguments详解
  9. vue制作导航栏html,Vue实现导航栏菜单
  10. 用python画一个机器猫歌词_Python实现海贼王的歌词组成词云图
  11. Unity笔记-29-ARPG游戏项目-10-完善攀爬
  12. postman中 form-data、x-www-form-urlencoded、raw、binary的区别
  13. 《惢客创业日记》2020.11.25-27(周三)为什么是我?
  14. springboot启动报org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean..
  15. Java集合(二二): LinkedList源码剖析
  16. proteus实现电子钟计时
  17. 百度云服务器图形桌面,百度云图形化GUI工具
  18. canvas仿知乎头像裁剪
  19. 睡着化妆整形都可以人脸识别刷脸支付
  20. ThinkPad 联想笔记本电脑 Fn 键设置

热门文章

  1. 剑指offer面试题52. 两个链表的第一个公共节点(双指针法)
  2. [Design]和色大辞典[转自中国丫头]
  3. 一个人的简历(林肯)
  4. PostgreSQL-4-DML数据操纵语言
  5. Educational Codeforces Round 62(CF1140)
  6. 理解闭包 js回收机制
  7. js学习总结----深入扩展-js同步与异步编程
  8. 1019. General Palindromic Number (20)
  9. javascript第四弹——变量、作用域、内存
  10. 通信系统仿真中的几个能量归一化问题