Después de escribir el programa C cuando compilamos y ejecutamos nuestro programa, se crean varios tipos de archivos. Puede consultar Compilación de un programa C: – Detrás de escena y ¿Cómo se ejecuta un programa C? para un mejor entendimiento.
A continuación se muestran los puntos seguidos cuando se compila cada archivo C:
- Cada archivo de encabezado .h se compila previamente con su archivo .c correspondiente y crea un archivo de objeto de encabezado (archivo .o) .
- Antes de compilar nuestro archivo main.c , primero pasa por el preprocesador, luego el compilador lo compila en ensamblador y crea un archivo de objeto ( main.o ).
- Luego, el enlazador vincula main.o con los objetos de encabezado y bibliotecas requeridos y crea un archivo ejecutable (programa .exe ).
- Archivo fuente (.c): estos archivos contienen definiciones de funciones y toda la lógica del programa, estos archivos son legibles por humanos y, por convención, sus nombres terminan con .c .
- Archivo de encabezado (.h): estos archivos contienen prototipos de funciones y varias declaraciones de preprocesador . Se utilizan para permitir que los archivos de código fuente accedan a funciones definidas externamente y, por convención, sus nombres terminan con .h .
- Archivo de objeto (.o): estos archivos se producen como salida del compilador. Consisten en definiciones de funciones en forma binaria, pero no son ejecutables por sí mismas y, por convención, sus nombres terminan en .o .
- Archivos ejecutables binarios (.exe): estos archivos se producen como resultado de un programa llamado » vinculador «. El enlazador vincula varios archivos de objetos para producir un archivo binario que se puede ejecutar directamente. Contiene símbolos que el enlazador puede extraer del archivo e insertar en un ejecutable a medida que se construye. Y por convención, sus nombres terminan con .exe en Windows.
- Archivo de biblioteca dinámica (.so, .dylib, .dll): una biblioteca dinámica ( archivos .so para la mayoría de los sistemas POSIX, .dylib para OSX y archivos .dll para Windows) está vinculada dinámicamente en tiempo de ejecución por el programa. A veces también se las denomina bibliotecas compartidas porque muchos programas pueden compartir una imagen de biblioteca. Las bibliotecas dinámicas tienen la ventaja de ocupar menos espacio en disco si más de una aplicación utiliza la biblioteca. Además, permiten actualizaciones de la biblioteca (corrección de errores) sin tener que reconstruir los ejecutables. Y por convención, .dll se usa para su nombre en Windows, y .so se usa en MacBook y .dylib se usa en OSX.
Publicación traducida automáticamente
Artículo escrito por scorchingeagle y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA