2012-08-27 20 views
7

La construcción es la secuencia compuesta de compilación y vinculación..NET proceso de construcción y vinculación

En .NET, el código fuente se compila en el ensamblado que contiene el Idioma Intermedio Común y escribe información. En tiempo de ejecución, el compilador JIT convierte el código CIL en código nativo.

No entiendo, en .NET, cómo y cuándo se produce la vinculación.

¿Puede alguien explicar el proceso?

Gracias de antemano

+0

¿Qué quiere decir con * linking *? –

+0

@SergRogovtsev [Linker (informática)] (http://en.wikipedia.org/wiki/Linker_%28computing%29) – Nasreddine

+0

@Nacereddine ¿es usted autor de esta pregunta? –

Respuesta

6

No hay vinculación en términos de C++.

Quiero decir, no hay ningún archivo intermedio "obj"/"lib", que se puede distribuir y vincular con otros archivos "obj" más tarde. La referencia a un ensamblado siempre tiene un comportamiento dinámico (siempre biblioteca de vínculos dinámicos), a diferencia de los enlaces estáticos de C++.

Algo como linking es una creación de .netmodule. Puede compilar código fuente .NET con compilador en .netmodule en lugar de ensamblaje (consulte here, especialmente la sección "Differences Between C# Compiler and C++ Compiler Output"), y luego puede vincular estos módulos en un solo ensamblaje (consulte al.exe).

Pero esta práctica es poco común: la mayoría de los ensamblados contienen un solo módulo, y este trabajo (fuente -> módulo -> ensamblaje) ha sido realizado por el compilador (por ejemplo, csc.exe) detrás de las escenas. Además, no recuerdo ningún producto que se redistribuya como un conjunto de .netmodule (no como un conjunto de conjuntos).

+0

Gracias por su respuesta :) – ProgNet

+0

De nada. – Dennis

Cuestiones relacionadas