我正在使用mingw64编译DLL。如何找到传递给函数的参数的字节数?
我已阅读:
在MinGW的名字装修__sdtdcall-declared
功能是[email protected]
,其中@nn
是传递给函数的参数的字节数。通过这种机制,不可能使用'错误'类型来调用一个函数,或者甚至使用错误的参数数量。
我的问题是在标题:如何找到传递给函数的参数的字节数?
我正在使用mingw64编译DLL。如何找到传递给函数的参数的字节数?
我已阅读:
在MinGW的名字装修__sdtdcall-declared
功能是[email protected]
,其中@nn
是传递给函数的参数的字节数。通过这种机制,不可能使用'错误'类型来调用一个函数,或者甚至使用错误的参数数量。
我的问题是在标题:如何找到传递给函数的参数的字节数?
sizeof(type)函数给出了particulat数据类型的字节数。
例子:
See http://en.wikipedia.org/wiki/Sizeof
如果你询问字符串(字符*):
See http://en.wikipedia.org/wiki/Strlen#strlen
strlen不会告诉你有关用于传递参数的堆栈空间的任何信息。 – 2012-03-26 15:14:36
@NiklasB。正确 - 字符串使用的堆栈空间将是sizeof(char *),但我不认为作者正在寻找使用的堆栈空间。 – Java42 2012-03-26 15:18:50
然而,他要求的是,与stdcall的'@ nn'名称装饰一样,'nn'代表实际参数使用的累积堆栈空间。 – 2012-03-26 16:11:51
你所说的 “发现” 是什么意思? – 2012-03-26 15:13:59