Ver Mensaje Individual
  #3  
Antiguo 14-01-2007
Avatar de darknesrul
darknesrul darknesrul is offline
Miembro
 
Registrado: ene 2007
Posts: 10
Reputación: 0
darknesrul Va por buen camino
Con un simple F1 desde el builder te encontras con esto:

Cita:
Description Use the __fastcall modifier to declare functions that expect parameters to be passed in registers. The first three parameters are passed (from left to right) in EAX, EDX, and ECX, if they fit in the register. The registers are not used if the parameter is a floating-point or struct type. All form class member functions must use the __fastcall convention. The compiler treats this calling convention as a new language specifier, along the lines of _cdecl and _pascal Functions declared using _cdecl or _pascal cannot have the _fastcall modifier because they use the stack to pass parameters. Likewise, the __fastcall modifier cannot be used together with _export. The compiler prefixes the __fastcall function name with an at-sign ("@&quot. This prefix applies to both unmangled C function names and to mangled C++ function names. For Microsoft C++ style __fastcall implementation, see __msfastcall and __msreturn.
Es decir, esto hace que los primeros tres parametros de las funciones definidas con este modificador, se almacenen en registros (EAX, EDX y ECX) en lugar de la pila. El acceso a registro es mucho mas rapido (supongo que de ahi el "fast&quot. Si los parametros no se pueden guardar en los registros (por ser estructuras o numeros de coma flotante) se usa la pila. En cuanto a si se puede quitar este modificador que incluye el Builder por defecto la respuesta es NO. Todas las funciones miembro de una clase Form deben usar este modificador. Esta todo en la ayuda del borland....
Responder Con Cita