Compilar y enlazar aplicaciones con archivos make

Cuando se crea una aplicación, se escribe el código en varios archivos de código fuente. Para una aplicación, puede tener muchos diferentes archivos de código fuente. Algunos grandes proyectos corporativos pueden tener cientos (o incluso miles) de archivos de código fuente con el de los programadores que trabajan en los diferentes archivos de decenas.

Como se puede imaginar, docenas de programadores de carácter fuerte que trabajan juntos hace que para toda una aventura-, pero mediante el uso de herramientas como hacer, estos programadores son capaces de trabajar juntos fácilmente.

Para transformar estos archivos de código fuente en una única aplicación, es necesario compilar y enlazar ellos.

compilar significa la transformación de su código C ++ (o cualquier otro idioma que está utilizando) en un lenguaje legible por una máquina llamada ensamblador. El lenguaje ensamblador difiere entre los tipos de procesadores. La mayoría de los que lean este libro probablemente están trabajando en una versión de un procesador AMD o Intel, por lo que los compiladores de C ++ que utiliza normalmente traducir sus aplicaciones en código ensamblador (también llamado código máquina) que sea apropiado para el procesador en el sistema.

También puede indicar al compilador para apuntar algún otro procesador en muchos casos. El compilador mete todo este código ensamblador en un archivo llamado archivo de objeto y típicamente nombres del archivo el mismo que el archivo de código fuente original pero con una .obj o .o extensión. Para cada archivo de código fuente, el compilador hace un solo archivo de objeto.

Video: El mejor programa para unir videos 2013-2014

Después de haber recopilado todos los archivos de código fuente, se corre el enlazador. los enlazador toma los archivos de objetos y los combina en un solo archivo que se puede ejecutar en el equipo. Esta fila de a uno por lo general recibe una .exe extensión, lo que significa executable.

El origen de este término proviene de ejecución, que se refiere a la ejecución de una aplicación y probablemente tuvo algo que ver con lo que el usuario de la primera aplicación informática quería hacer al programador después de usar la aplicación.

El enlazador puede producir otros tipos de archivos de salida. Por ejemplo, puede crear una .lib (Biblioteca) o .DLL (Dynamic Link Library, o DLL). Estos archivos contienen código ejecutable, al igual que el archivo .exe hace, pero que no se ejecutan como archivos independientes - una .exe archivo, normalmente los carga y utiliza el código ejecutable que contienen.

El compilador también se inserta en el objeto presenta una gran cantidad de información, además del código ensamblador. Por ejemplo, cuando se está todavía en el proceso de desarrollo de la aplicación, se puede indicar al compilador para mostrar información de depuración en el archivo. (Aunque a veces la información de depuración va en un archivo- separada que depende del compilador).

La información de depuración incluye los nombres de las variables y los números de línea del código fuente. Cuando se utiliza una herramienta de depurador, esa herramienta sabe acerca de su código examinado la información de depuración.

El compilador también pone la información sobre el código, como los nombres de los elementos que se producen, en otros archivos de código fuente. Por ejemplo, si usted está escribiendo código que llama código en otro archivo de código fuente, el compilador incluye el nombre de ese código en el archivo objeto. De esta manera, el enlazador puede conectar los dos.

Video: Unir videos en uno solo

Por último, un compilador puede agregar recursos a los archivos de objetos, tales como gráficos y sonidos que su aplicación requiere. Estos recursos aparecen como datos que la aplicación accede más tarde. Datos aparecen en áreas separadas de código ejecutable en el archivo, pero usted no tiene que preocuparse acerca de la organización del fichero objeto - el compilador se encarga de gestionar el código y los datos para usted.

Artículos Relacionados