Hablemos un poco del proceso de compilación de C#. Este artículo será muy interesante pues integra muchos de los conceptos prácticos que involucra la escritura de código fuente en lenguaje C# para su posterior compilación a un assembly (ensamblado) ejecutable (.exe).
- ¿Qué es la compilación?:
La compilación es el proceso de traducción de código fuente (uso de palabras del inglés, entendible por los humanos o lenguaje de alto nivel) a código objeto (interpretable por la máquina, lenguaje de bajo nivel). Este proceso está compuesto, normalmente, por las siguientes fases:
Conclusiones:- Análisis léxico
- Preprocesamiento
- Parseo
- Análisis semántico
- Generación de código objeto
- Optimización de código
- Compilación en C#:
El código fuente escrito en lenguaje C# se escribe en archivos de texto plano con extensión .cs. .NET Framework posee compiladores para todos lenguajes compatibles con la CLR, para el caso particular, tenemos a csc.exe que se ejecuta desde la línea de comandos y al que se le debe pasar un archivo (o varios, inclusive) para generar un assembly (o ensamblado).
Un assembly, es la unidad de empaquetamiento y despliegue en .NET Framework. Hay dos tipos de assembly, los ejecutables (o de proceso) o las librerías. En el caso de los procesos, tenemos aplicaciones Windows y de consola, para que sea así deben tener como punto de entrada el método Main. Por otro lado, las librerías pueden ser referenciadas desde aplicaciones que las incluyen en los proyectos; a diferencia de los procesos, las librerías (.dll) no poseen un punto de entrada. Adicionalmente, se puede ver a .NET Framework como un conjunto de librerías para distintos propósitos (e.g., creación de interfaces gráficas, algoritmos numéricos, conexión a base de datos, acceso a datos, criptografía, acceso a red, entre otros más).
El proceso de compilación en C# puede ser realizado desde el entorno de desarrollo integrado Visual Studio [2] o desde la línea de comandos [3]. A continuación presento un ejemplo sencillo acerca del proceso de compilación del programa en código fuente MiPrimerPrograma.cs:
Así compilamos a MiPrimerPrograma.cs:
[Nota: El compilador de C# se encuentra en la siguiente ruta %SystemRoot%\Microsoft.NET\Framework\ donde %SystemRoot% es el directorio para Windows.]
Si quisiéramos producir una librería (.dll), ejecutamos el siguiente comando:
csc MiPrimerPrograma.csLa Figura 1 muestra todo el proceso de compilación y ejecución del programa anterior.
Figura 1. Compilación y Ejecución de MiPrimerPrograma.cs |
[Nota: El compilador de C# se encuentra en la siguiente ruta %SystemRoot%\Microsoft.NET\Framework\
Si quisiéramos producir una librería (.dll), ejecutamos el siguiente comando:
csc /target:library MiPrimerPrograma.cs
Se ha podido ver que el proceso de compilación es análogo a una traducción de un lenguaje natural a otro. Este proceso involucra varias fases bien definidas que permiten traducir código fuente (en lenguaje de alto nivel) a código objeto (en lenguaje de bajo nivel: entendible por la máquina). Para efectos prácticos, se ha incluido un ejemplo para compilar y ejecutar un programa escrito en lenguaje C#.
Glosario:
- Análisis léxico
- Código fuente
- Compilación
- Compilador
- Ejecutable
- Exe
- IDE
Referencias:
[1] Compiler - http://en.wikipedia.org/wiki/Compiler
[2] Microsoft Visual Studio - https://en.wikipedia.org/wiki/Microsoft_Visual_Studio
[3] Command Prompt - http://en.wikipedia.org/wiki/Command_Prompt
H
No hay comentarios:
Publicar un comentario
Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.