读书人

关于调用DLL中C函数中的var_list参数的

发布时间: 2012-02-06 15:52:44 作者: rapoo

关于调用DLL中C函数中的var_list参数的正确调用方法?
请教个问题,在Delphi调用C写的DLL函数时,函数中有可变参数,
例如:int add(int a, ...);
在Delphi中如何向其正确传递参数?可以假设参数都为整数

[解决办法]
a : array of Integer;
[解决办法]
delphi有一个关键字:varargs专门用于可变参数处理的,我的一个测试:
DLL程序:

C/C++ code
//---------------------------------------#include <windows.h>#pragma argsusedint WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved){        return 1;}//---------------------------------------extern "C" __export  int testdll(int a,...){   va_list ap;   int arg;   va_start(ap, a);   int total =0;   for(int i=0;i<a;i++)    {       arg = va_arg(ap,int);       total += arg;     }   va_end(ap);   return total;} 

读书人网 >.NET

热点推荐