2012-03-26 78 views
1

我正在使用mingw64编译DLL如何找到传递给函数的参数的字节数?

我已阅读:

在MinGW的名字装修__sdtdcall-declared功能是[email protected],其中@nn是传递给函数的参数的字节数。通过这种机制,不可能使用'错误'类型来调用一个函数,或者甚至使用错误的参数数量。

我的问题是在标题:如何找到传递给函数的参数的字节数?

+0

你所说的 “发现” 是什么意思? – 2012-03-26 15:13:59

回答

1

sizeof(type)函数给出了particulat数据类型的字节数。

例子:

See http://en.wikipedia.org/wiki/Sizeof 

如果你询问字符串(字符*):

See http://en.wikipedia.org/wiki/Strlen#strlen 
+0

strlen不会告诉你有关用于传递参数的堆栈空间的任何信息。 – 2012-03-26 15:14:36

+0

@NiklasB。正确 - 字符串使用的堆栈空间将是sizeof(char *),但我不认为作者正在寻找使用的堆栈空间。 – Java42 2012-03-26 15:18:50

+0

然而,他要求的是,与stdcall的'@ nn'名称装饰一样,'nn'代表实际参数使用的累积堆栈空间。 – 2012-03-26 16:11:51

相关问题