`
tcspecial
  • 浏览: 897370 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

python调用c/c++库

阅读更多

    Python以其简单的语法及众多第三方库的支持,使得运用非常广泛. 但是如何利用Python进行混合调用,调用已完成的*.dll库功能,刚好最近偶尔看到swig这个小工具,能够生成包装后接口文件,使得脚本语言间接调用c/c++库.  一般像java/c#等语言只能调用纯C类库,Swig竟然可以处理C++库,可能内部作了处理,稍候研究

   

    一. 下载 Swig 直接解压即可

    二. C代码

// example.h 
#ifndef _EXAMPLE_H
#define _EXAMPLE_H

int Add(int a,int b);

#endif 

// example.cpp
#include "example.h"

int Add( int a,int b )
{
	return a+b;
}

   

   三. 编写接口描述文件,生成python模块

   接口说明文件: example.i

%module example
%{
#include "example.h"
%}

%include "example.h"

    

swig -python example.i

    此时会在工程下生成 example.py 和 example_wrap.c 两个文件

  

   四. VC6下编译扩展

   1. 建立空的win32动态库工程

   2. 将example.h example.c example_wrap.c三个文件添加至工程中

   3. 设置Include path: d:\Python27\include, 设置Lib path: d:\Python27\libs

   4. 设置输出文件名: _example.pyd ,千万不能忘了下划线,example.py中会默认调用_example这个模块

   5. 成功编译release版本后会在目录中生成文件 _example.pyd 

 

   五.测试运行

   运行结果

   注: _example.pyd和example.py必须在同一目录,否则会找不到模块

 

    

  • 大小: 27.7 KB
分享到:
评论

相关推荐

    详解python如何调用C/C++底层库与互相传值

    Python调用C/C++库,我现在能做到的有两种方式 1.extern “C” 导出(互相传值比较麻烦,不建议使用这种方式): 将C/C++库做成和平常一样的DLL和或者.so,比如: //.h文件 #include <Python> //.cpp文件 //C/C++ ...

    python调用C/C++ demo

    看到python和C/C++代码怎么调用,参考网上的写了两个demo,分别是python调用C和C++的,欢迎下载!

    Python调用C/C++动态链接库的方法详解

    本文以实例讲解了Python调用C/C++ DLL动态链接库的方法,具体示例如下: 示例一: 首先,在创建一个DLL工程(本例创建环境为VS 2005),头文件: //hello.h #ifdef EXPORT_HELLO_DLL #define HELLO_API __declspec...

    C/C++、matlab、python:生成c动态库,matlab、python调用

    C/C++、matlab、python:生成c动态库,matlab、python调用

    ubuntu中python调用C/C++方法之动态链接库详解

    主要给大家介绍了关于如何在ubuntu中python调用C/C++方法之动态链接库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧

    如何在python中引用c/c++函数

    如何在python中引用c/c++函数Python调用c/c++python调用c Python调用c/c++ 由于python性能问题的原因,在实际项目中往往会在python中去调用c的一些方法,本文将介绍在centos8下面python去调用c的方法。 python调用c ...

    python调用C与C++语言.pdf

    此代码是利用python 调用C语言和C++语言的动态链接库,该方法可将计算机视觉部分用C++书写,执行期用python,AI行业很好用的方法

    Python使用ctypes调用C/C++的方法

    python使用ctypes调用C/C++ 1. ctpes介绍 ctypes is a foreign function library for Python. It provides C compatible data types, and allows calling functions in DLLs or shared libraries. It can be used to...

    C/C++ 多线程调用嵌入Python

    配合文章代码实现 c++ 多线程调用嵌入的Python 文章详情 https://blog.csdn.net/u010383605/article/details/82057084 Python下载地址: https://www.python.org/downloads/windows/

    Python & C/C++联合编程实战

    一 环境准备 和Python语法快速入门二 Python CTypes访问C/C++动态链接库三 Python源码跨平台的编译四 Python的C/C++扩展库_模块、函数、类扩展五 Python的多线程GIL及在web中调用ffmpeg扩展示例六 Python虚拟机定制-...

    如何利用Boost.Python实现Python C/C++混合编程详解

    extending 所谓python 程序中调用c/c++代码, 其实是先处理c++代码, 预先生成的动态链接库, 如example.so, 而在python代码中import example;即可使用c/c++的函数 . embedding c++代码中调用 python 代码. 两者都...

    c,c++,python源代码生成流程图

    免费软件,可自动分析C/C++/Java/Python/C#/Objective-C等项目的源代码并生成流程图和函数调用关系图。生成的流程图可以和源代码互相定位,有助于分析源代码,是阅读其他人写的代码或者自己很久前写的代码的利器。

    Python调用C函数实例

    Python C/C++混编 Python 调用C函数 传递参数为:值传递,指针传递,数组

    C++调用Python并传参

    C#调用C++,C++调用Python并传参,包括C++向python传递图片数据,C++向python传递组数据,C++向python传递字符串数据,...numpy库,实现C#控制台程序通过调用C++,、C++调用python文件动态生成数据获取返回值,并输出,

    Python中调用C++dll例子

    Python中调用C++dll例子,使用python中的ctypes。

    Python调用C/C++的方法解析

    Python是解释性语言, 底层就是用c实现的, 所以用python调用C是很容易的, 下面就总结一下各种调用的方法, 给出例子, 所有例子都在ubuntu9.10, python2.6下试过. 1. Python 调用 C (base) 想在python中调用c函数, 如...

    python调用c++动态库Demo

    使用python调用c++动态库的演示工程, 包含回调函数, 供初学者学习

    linux 下 python调用c或者c++编写的代码使用案例

    在python程序中调用c或者c++ 的代码。本压缩文件解压后有四个文件夹,包含四个不同的调用方法。适用于linux 平台。

Global site tag (gtag.js) - Google Analytics