Operativsystem: .............................................................
Operativsystem: .............................................................
Operativsystem: .............................................................
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
At skrive IL (Intermediate Language) kode i hånden:<br />
Det er sjældent nødvendigt at skrive IL kode i hånden. Desuden er det besværligt, langsomt og det<br />
er let at lave fejl i koden!<br />
Det følgende er derfor mest ment som en illustration af hvad IL egentligt er for noget.<br />
IL eller Microsoft Intermediate Language er et ’lav niveau’ programmerings sprog (et assembler<br />
sprog) der ligger neden under sprog som C# eller Visual Basic eller C++. Det vil sige at den kode<br />
som skrives i IL er nøjagtigt den samme uanset om man ’starter’ med C# eller et andet sprog som er<br />
kompatibelt med .NET.<br />
IL kode består af helt almindelige tekstfiler fx skrevet i Notesblok. Som et enkelt eksempel er dette<br />
en IL fil som opretter ’det mest nødvendige’:<br />
.class public auto ansi import DanskParcelHus extends [mscorlib] System.Object {}<br />
.class public auto ansi import DanskLilleParcelHus extends [mscorlib] System.Object {}<br />
.class public auto ansi import DanskStortParcelHus extends [mscorlib] System.Object {}<br />
.class public auto ansi import JyskParcelHus extends [mscorlib] System.Object {}<br />
.assembly parcelhuse{<br />
.ver 1:0:0:0<br />
}<br />
.assembly extern mscorlib{<br />
.ver 1:0:2411:0<br />
}<br />
.module parcelhuse.dll<br />
Filen gemmes som parcelhuse.il – idet filtypen ’il’ betegner IL filer.<br />
Filen opretter 4 klasser, som er public og som arver fra System.Object. mscorlib betegner den DLL<br />
fil hvor System.Object er defineret. De 4 klaser er ’tomme’ – har ingen metoder (ud over dem de<br />
arver) og ingen constructor eller andre medlemmer.<br />
Filen opretter også en assembly ved navn ’parcelhuse’ med version 1:0:0:0 som har et eneste<br />
modul (som også hedder parcelhuse). En assembly kunne evt bestå af mange moduler.<br />
Det som det nu drejer sig om er at få produceret en binær kompileret fil ved navn parcelhuse.dll.<br />
Det gøres med den IL kompiler som følger med .NET nemlig ilasm.exe sådan:<br />
ilasm /DLL parcelhuse.il<br />
OBS ilasm har en række ’flag’ som kan ses hvis der tastes:<br />
ilasm –help<br />
Som standard kompilerer ilasm til en EXE fil – derfor er /DLL nødvendigt. ilasm er en kompiler<br />
lige som csc (for C#) eller vbc (for Visual Basic) – men den kompilerer blot IL filer i stedet for.