关于调用DLL中C函数中的var_list参数的正确调用方法?解决思路
关于调用DLL中C函数中的var_list参数的正确调用方法?
请教个问题,在Delphi调用C写的DLL函数时,函数中有可变参数,
例如:int add(int a, ...);
在Delphi中如何向其正确传递参数?可以假设参数都为整数
------解决方案--------------------
a : array of Integer;
------解决方案--------------------
delphi有一个关键字:varargs专门用于可变参数处理的,我的一个测试:
DLL程序:
请教个问题,在Delphi调用C写的DLL函数时,函数中有可变参数,
例如:int add(int a, ...);
在Delphi中如何向其正确传递参数?可以假设参数都为整数
------解决方案--------------------
a : array of Integer;
------解决方案--------------------
delphi有一个关键字:varargs专门用于可变参数处理的,我的一个测试:
DLL程序:
- C/C++ code
//--------------------------------------- #include <windows.h> #pragma argsused int 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; }