From: Adriano d. S. F. <adr...@gm...> - 2011-04-08 15:00:24
|
On 08-04-2011 11:25, Vlad Khorsun wrote: >> 08.04.2011 15:42, Vlad Khorsun wrote: >>> Thanks. But, if this is true : "In 64 bit mode, there is only one calling convention for each >>> operating system" then we have no problem with interfaces despite of compiler\language >>> on x64 systems. >> >> Yep, if forget that current FB API, implemented in current fbclient.dll use stdcall and >> thus Delphi 64 won't be able to work with it. And if you change this calling convention to >> fastcall, all programs that already work with 64-bits client will be broken. > > In Win64 stdcall is the same as thiscall, cdecl, register, fastcall, anythingelsecall. > > Do you know that all Win32 API declared with stdcall ? Are you going to say that Delphi > Win64 applications wiil not be able to work with Win32 API at all ? :-D > > There is no problem with calling conventions on x64 systems between modules by different > compilers as log as all compilers vendors follow the same rules about fastcall. And it seems > they follow. > If fastcall can handle functions with variable number of arguments, there is no problem then. The only affected applications would be the ones written in assembly. Adriano |