python调用C函数

是的,我又开始integrate另一个方法~~

此方法用C++,Python作胶水,供Matlab调用,原来是在Linux上编译运行,我需要把它在Windows x64上跑起来~~

在Linux平台,Python调用C是通过这样的方式来进行的:

var = CDLL('test.so')

其中,.so是Linux上的一种称为共享库的文件,类似于Windows的.dll文件。那么想当然的,在Windows下面要想调用,我们需要把后面的这个文件替换成test.dll。

这个步骤也不难,方法就是在需要提供外部接口的函数声明前面都加上关键字  __declspec(dllexport)

示例代码长这样:

#define DLL_API __declspec(dllexport)
DLL_API void foo();

搞定后,把VS工程的配置类型更改为动态库(.dll),编译一下就得到了test.dll文件

在python中调用的语句如下:

var = CDLL('test.dll')

现在,在python里面就可以愉快地调用c++中的函数啦~~o(^▽^)o

posted @ 2015-09-10 17:37  zhsuiy  阅读(1706)  评论(0编辑  收藏  举报