On 04/08/11 19:00, Adriano dos Santos Fernandes wrote: > 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. >
Yes, it can. It stores first 4 (on linux 6) arguments in registers, the rest are stored on stack using cdecl conventions. ------------------------------------------------------------------------------ Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel