Python与C语言混合编程之复数数组的参数传递方法( 二 )

在Python语言中 , 可以使用ctypes模块调用其它如C++语言编写的动态链接库DLL文件中的函数 , 前面多篇文章中已经讲了传递数值/指针/字符串参数、传递结构体参数、传递普通数组类型的例子 , 大家可以回看一下 , 这样可以更好的理解本次要讲的内容 。

这次的例子运行环境配置如下:

①操作系统:win7 64位

②Python版本:python2.7.14

③函数约定的调用方式:C调用(cdecl)方式 。

下面给出具体的实现过程 。

函数说明

在DLL文件(MyDLL.dll)中设计一个函数ComplexArrayFunc , 其功能是 , 对于输入长度为n的复数数组x , 将x数组中的每个复数元素的实部和虚部进行交换 , 得到同样长度的复数数组y 。 该函数的声明如下图所示:

函数ComplexArrayFunc的具体C语言实现代码如下:

推荐阅读