Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   que hace Delphi (https://www.clubdelphi.com/foros/showthread.php?t=47293)

dtomeysoto 23-08-2007 20:00:45

que hace Delphi
 
Amigos del club.
Había hecho una pregunta en este hilo y esperando que me responda alguien voy hacer esta otra.

Cuando yo hago la siguiente declaración en mi programa:

Código:

...
function XXX(a: Byte; b; Char): Integer;  far;  external 'MiDll';
...

begin
...

A := 34;
B := 'R';

R := XXX(A, B);
end;

¿Delphi cómo traduce lo anterior al ejecutable, cuando se llama a la función XXX se carga la Dll en memoria y cuando se termina esta se descarga? (Delphi incluye código para eso en mi .exe)

Gracias, Damián.

seoane 23-08-2007 20:50:43

Te recomiendo esta lectura (esta en ingles):
http://msdn.microsoft.com/msdnmag/issues/02/02/PE/

En el se explica la estructura de un archivo ejecutable. Veras que dentro de la estructura del ejecutable existen una serie de tablas que sirven para saber que librerías y funciones son necesarias para ejecutar ese programa. El propio windows se encarga de cargar esas librerías y de ajustar los valores de las tablas para que apunten a las direcciones de memoria adecuadas. En ningún momento el programa tiene que llamar a las funciones LoadLibrary y FreeLibrary, de eso ya se encarga windows.

Al González 23-08-2007 23:00:38

Cita:

Empezado por seoane (Mensaje 225594)
Te recomiendo esta lectura (esta en ingles):
http://msdn.microsoft.com/msdnmag/issues/02/02/PE/

En el se explica la estructura de un archivo ejecutable. Veras que dentro de la estructura del ejecutable existen una serie de tablas que sirven para saber que librerías y funciones son necesarias para ejecutar ese programa. El propio windows se encarga de cargar esas librerías y de ajustar los valores de las tablas para que apunten a las direcciones de memoria adecuadas. En ningún momento el programa tiene que llamar a las funciones LoadLibrary y FreeLibrary, de eso ya se encarga windows.

Sólo apuntar que el término es biblioteca (library).


La franja horaria es GMT +2. Ahora son las 09:16:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi