Java 如何找到传递给函数的参数字节数?

Java 如何找到传递给函数的参数字节数?,java,java-native-interface,mingw,Java,Java Native Interface,Mingw,我正在使用mingw64编译一个DLL 我读到: MinGW中\uu sdtdcall-declared函数的名称修饰为FunctionName@nn,其中@nn是传递给函数的参数字节数。通过这种机制,不可能调用“错误”类型的函数,甚至不可能调用错误数量的参数 我的问题如标题所示:如何找到传递给函数的参数字节数?sizeof(type)函数给出特定数据类型的字节数 示例: See http://en.wikipedia.org/wiki/Sizeof 如果您询问字符串(char*):

我正在使用mingw64编译一个DLL

我读到:

MinGW中
\uu sdtdcall-declared
函数的名称修饰为
FunctionName@nn
,其中
@nn
是传递给函数的参数字节数。通过这种机制,不可能调用“错误”类型的函数,甚至不可能调用错误数量的参数

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

sizeof(type)函数给出特定数据类型的字节数

示例:

    See http://en.wikipedia.org/wiki/Sizeof
如果您询问字符串(char*):

sizeof(type)函数给出特定数据类型的字节数

示例:

    See http://en.wikipedia.org/wiki/Sizeof
如果您询问字符串(char*):


strlen不会告诉你任何关于用于传递参数的堆栈空间的信息。@NiklasB。正确-字符串使用的堆栈空间将是sizeof(char*),但我认为作者不是在寻找使用的堆栈空间。然而,他要求这样做,就像stdcall的
@nn
名称装饰一样,
nn
表示实际参数使用的累计堆栈空间。strlen不会告诉您有关用于传递参数的堆栈空间的任何信息。@NiklasB。正确-字符串使用的堆栈空间将是sizeof(char*),但我认为作者并不是在寻找使用的堆栈空间。然而,他要求这样做,就像stdcall的
@nn
名称装饰一样,
nn
代表实际参数使用的累积堆栈空间。