2012-08-27 10 views
7

Budowanie to sekwencja składająca się z kompilacji i łączenia.. Proces budowania .NET i łączenia

W .NET kod źródłowy jest kompilowany do zestawu zawierającego wspólny język pośredni i informacje o typie. W czasie wykonywania kompilator JIT konwertuje kod CIL na kod natywny.

Nie rozumiem, w .NET, jak i kiedy występuje łączenie.

Czy ktoś może wyjaśnić proces?

góry dzięki

+0

Co dokładnie masz na myśli przez * linkowanie *? –

+0

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

+0

@Nacereddine jesteś autorem tego pytania? –

Odpowiedz

6

Nie ma powiązanie z punktu widzenia C++.

To znaczy, nie ma żadnych pośrednich plików "obj"/"lib", które można później rozpowszechniać i łączyć z innymi plikami "obj". Odwołanie do zespołu ma zawsze dynamiczne zachowanie (zawsze biblioteka dynamicznego łącza), w przeciwieństwie do statycznego łączenia w C++.

Coś podobnie jak łączenie jest tworzeniem .netmodule. Można zbudować kod źródłowy .NET za pomocą kompilatora pod .netmodule zamiast z zestawu (patrz here, zwłaszcza sekcja "Differences Between C# Compiler and C++ Compiler Output"), a później można połączyć te moduły w jeden zespół (patrz al.exe).

Ale to jest niecodzienna praktyka - większość złożeń zawiera pojedynczy moduł, a ta praca (źródło -> moduł -> montaż) została wykonana za pomocą kompilatora (np. csc.exe) za kulisami. Ponadto nie pamiętam, aby jakikolwiek produkt był redystrybuowany jako zestaw .netmodule (nie jako zestaw zespołów).

+0

Dziękuję za odpowiedź :) – ProgNet

+0

Nie ma za co. – Dennis

Powiązane problemy