26.07.2013 Views

Operativsystem: .............................................................

Operativsystem: .............................................................

Operativsystem: .............................................................

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!