__declspec(dllexport) COMPLEX[8] Hilbert(COMPLEX input[8])
{
COMPLEX Analytical_Signal[8]; ......
...... return Analytical_Signal; //return the analytic signal}以上是我的代码,其中COMPLEX是自己定义的STRUCTURE,我的目的是想在DLL中返回一个数组,但编译出错,请问是为什么?重要的是:怎样在DLL中返回一个经过处理的数组呢?谢谢大家!
{
COMPLEX Analytical_Signal[8]; ......
...... return Analytical_Signal; //return the analytic signal}以上是我的代码,其中COMPLEX是自己定义的STRUCTURE,我的目的是想在DLL中返回一个数组,但编译出错,请问是为什么?重要的是:怎样在DLL中返回一个经过处理的数组呢?谢谢大家!
process it in the dll
COleSafeArray saRet;
DWORD numElements[] = {10, 10}; // 10x10 // Create the safe-array...
saRet.Create(VT_R8, 2, numElements); // Initialize it with values...
long index[2];
for(index[0]=0; index[0]<10; index[0]++) {
for(index[1]=0; index[1]<10; index[1]++) {
double val = index[0] + index[1]*10;
saRet.PutElement(index, &val);
}
} // Return the safe-array encapsulated in a VARIANT...
return saRet.Detach();
} 并在DEF文件中声明导出函数
retVariantArray
__declspec(dllexport) void Hilbert(COMPLEX input[8], COMPLEX out[8])通过参数返回