¿Cómo escribir un archivo .EXE?
El proceso desde generar un programa hasta ejecutarlo es un proceso muy complicado. Simplemente compilar y vincular para generar un programa ejecutable es suficiente para estudiar toda la vida.
Hay tanta información en esta pregunta que harían falta varios libros para responderla. Solo por el tema, permítanme hablar brevemente sobre cómo se genera un .exe.
El programa necesita depender de archivos fuente para compilar. Después de la compilación, se genera un archivo de código intermedio (.obj) y luego se utiliza el vinculador para vincular todos los archivos .obj y el .lib dependiente. archivos para generar un archivo .exe.
Esta es la comprensión más simple. Ahora expandamos un poco y hablemos del archivo .exe.
En Windows, todos los archivos ejecutables (.exe, .dll, .ocx, .sys, etc.) están organizados según un determinado formato de contenido de archivo: formato PE. El formato PE registra información durante el proceso de carga y ejecución de un archivo de programa, como el tipo de archivo, ya sea un dll o un exe, la plataforma de ejecución, un sistema de 32 bits o un sistema de 64 bits, etc. Cuando se ejecuta un programa, el cargador del programa asignará los segmentos de datos, segmentos de código, etc. en el archivo del programa a la memoria de acuerdo con el contenido del formato PE e importará correctamente la API del sistema que utilizará el programa, y en Al mismo tiempo, el archivo debe corregir algunas de las direcciones de desplazamiento a las direcciones después de asignarlas a la memoria, y luego se llama al punto de entrada del código del programa para su ejecución. Es un proceso de este tipo que implica una serie de cuestiones como la gestión de la memoria del sistema, la gestión de procesos, la programación de subprocesos, etc.
El contenido de estos formatos PE lo completa el vinculador al vincular el programa. En otras palabras, el vinculador genera un archivo PE para su ejecución.
Cada sistema operativo tendrá su propio formato de archivo ejecutable compatible. El formato PE es exclusivo de la plataforma Windows.