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

Reply via email to