www.wikidata.uk-ua.nina.az
Common Intermediate Language skorocheno CIL promizhna mova rozroblena korporaciyeyu Microsoft dlya platformi NET Framework JIT kompilyator yakij peretvoryuye CIL kod v mashinnij kod ye chastinoyu virtualnoyi mashini CLR angl Common Language Runtime spilnogo seredovisha vikonannya mov dlya platformi NET Ranishe cya mova mala nazvu Microsoft Intermediate Language ale zgodom bula perejmenovana dlya stvorennya standartu ECMA 335 Usi kompilyatori yaki zabezpechuyut pidtrimku platformi NET povinni translyuvati kod yakij napisanij na movah visokogo rivnya v promizhnij kod na movi CIL 1 Kod na CIL generuyut usi kompilyatori dlya platformi NET samoyi firmi Microsoft yaki vhodyat v seredovishe rozrobki Visual Studio C Managed C Visual Basic NET Visual J NET Mova CIL svoyim sintaksisom i mnemonikoyu nagaduye movu asemblera Yiyi mozhna rozglyadati yak asembler virtualnoyi mashini NET V toj samij chas mova CIL mistit deyaki dostatno visokorivnevi konstrukciyi yaki pidvishuyut yiyi riven v porivnyanni z asemblerom dlya bud yakoyi realno isnuyuchoyi mashini tomu pisati kod bezposeredno na CIL porivnyano prostishe nizh na asembleri dlya realnih mashin CIL mozhna rozglyadati yak svoyeridnij visokorivnevij asembler Movu CIL dovoli chasto nazivayut prosto IL angl Intermediate Language tobto promizhna mova Sintaksis i mnemonika movi CIL opisani standartom ECMA 335 Specifikaciya CIL ye skladovoyu chastinoyu specifikaciyi Common Language Infrastructure CLI 2 Priklad kodu RedaguvatiPriklad programi Hello World napisanoyi na CIL Programa vivodit strichku Hello world assembly Hello method public static void Main cil managed entrypoint maxstack 1 ldstr Hello world call void mscorlib System Console WriteLine string ret She odna programa na C static void Main string args for int i 2 i lt 1000 i for int j 2 j lt i j if i j 0 goto outer Console WriteLine i outer Console ReadKey Output 2 3 yaka na CIL viglyadaye tak method private hidebysig static void Main string args cil managed entrypoint maxstack 2 locals init 0 int32 i 1 int32 j IL 0000 ldc i4 2 stloc 0 br s IL 001f IL 0004 ldc i4 2 stloc 1 br s IL 0011 IL 0008 ldloc 0 ldloc 1 rem brfalse s IL 0000 ldloc 1 ldc i4 1 add stloc 1 IL 0011 ldloc 1 ldloc 0 blt s IL 0008 ldloc 0 call void mscorlib System Console WriteLine int32 ldloc 0 ldc i4 1 add stloc 0 IL 001f ldloc 0 ldc i4 0x3e8 blt s IL 0004 ret Primitki Redaguvati Building a Simple NET Compiler anglijskoyu Arhiv originalu za 31 sichnya 2019 Procitovano 31 sichnya 2019 Mamone Mark 2006 Practical Mono Angl Apress s 3 5 ISBN 9781430200970 Arhiv originalu za 31 sichnya 2019 Procitovano 31 sichnya 2019 Posilannya RedaguvatiECMA 335 Standard Arhivovano 31 sichnya 2019 u Wayback Machine ISO IEC 23271 2006 Standard Arhivovano 19 sichnya 2022 u Wayback Machine Otrimano z https uk wikipedia org w index php title Common Intermediate Language amp oldid 35400220