Python中调用C++程序
来源:互联网 发布:软件开发思路 编辑:程序博客网 时间:2024/05/22 15:27
由于Python是顶层高级语言,而C/C++属于底层语言。因此在运行的速度上Python是比不上C/C++。在此我分别用C++和Python写了两个相同的函数,然后分别来运行。
首先用C++写下如下内容,文件保存为pycall.cpp
#include <iostream>using namespace std;extern "C" { void dosomething(int n){ for(int i = 0; i < n; i++) i *= 2; }}
在函数里面做一个for循环操作,循环的次数由参数n决定。
接着用gcc编译:
gcc -o libpycall.so -shared -fPIC pycall.cpp
会生成一个libpycall.so文件。
接着在Python中调用C++,代码如下,文件命名为pythonCallC.py:
import ctypesimport timestart = time.time()ll = ctypes.cdll.LoadLibrary lib = ll("./libpycall.so") lib.dosomething(100000) print("**call by c++**") print(time.time() - start)
其中,导入time库来计时,里面主要做的事情就是循环10万次。
同样在另外一个Python文件中写下如下代码,文件命名为pythonSelf.py:
import timedef dosomething(n): for i in range(n): i *= 2start = time.time()dosomething(100000)print("**call by python**")print(time.time() - start)
最后在terminal中运行这两个Python文件,结果如下:
可以看出,在Python中调用C++的执行速度要快于Python中直接执行的速度。特别是要实现的功能越复杂,差距越大。如果执行很简单的操作的话,就不好体现出C++的执行速度的优势。比如,可以看出,当只循环1000次的时候,Python还是比C++快很多的。
1 0
- Python调用C程序
- python调用C程序
- 【Python】python调用C程序
- 在Python中使用SWIG调用C和C++程序
- C中调用PYTHON
- c中调用python
- C语言调用python程序
- PHP中调用python程序
- Python中调用C++程序
- C++中调用python程序
- MATLAB中调用.C程序
- python中调用c库
- python中调用c库
- C语言中调用python
- python调用c中函数
- Python调用C可执行程序(subprocess)
- python通过swig调用c程序举例
- python中使用subprocess调用外部程序
- MySQL-5.5.54 ZIP Archive的安装
- python清除字符串中无用字符
- caffe的python接口以opencv的方式读取视频,图片做分类时出错的解决
- [机器学习]机器学习笔记整理09- 基于SVM图像识别
- 数组和指针的关系
- Python中调用C++程序
- SSL和SSH协议简单介绍。
- 动态规划法(四)——0/1背包问题
- Q100:怎么用三角形网格细分回旋体(rotational sweeping / revolution)
- JavaScript查找文本并突出显示
- TensorFlow中的一个重要op---MatMul的实现(一)
- 通过IP地址获得用户所在城市的额天气信息的整理
- ViewPager+Fragment实现
- Spring学习之SpEL(一)