我很好奇这样的:stdcall需要导入函数吗?
当我从出口使用STDCALL调用约定一个动态链接库导入功能,是强制要求在德尔福之前外部添加STDCALL从7版本开始?
即
LIBNAME int __stdcall Foo(void);
为
function Foo: Integer; stdcall; external 'libname.dll';
或者我可以在默认情况下逃脱只是
function Foo: Integer; external 'libname.dll';
IIRC它会使用STDCALL,但我不是100%当然,你的意见是必需的。
编辑:
问题是关系到32位的库,阿尔诺Bouchez取得了一个很好的点,对于64位,调用约定是不是因为只有一个考虑。
可以“蒙混过关”漏掉了该函数的调用约定,因为当有一个简单的返回类型,没有参数,STDCALL并注册的行为相同。 – 2012-03-21 13:05:26
@RobKennedy该死的例子!你是对的,实际上除了我导入的其中一个功能都有一个或多个参数外,感谢你提供的单挑Rob! (: – ComputerSaysNo 2012-03-21 13:14:58