Ugrás a tartalomhoz

„Common Intermediate Language” változatai közötti eltérés

A Wikipédiából, a szabad enciklopédiából
[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
bevezetőhöz
Bővebben
9. sor: 9. sor:


A CIL egy másik jelentésében [[C Intermediate Language]]-re utal, ami a C egy egyszerűsített változata, amire a kódot további elemzés céljára használják.<ref>{{cite web|url=https://kerneis.github.io/cil/doc/html/cil/|title=CIL - Infrastructure for C Program Analysis and Transformation|accessdate = 2015-02-08}}</ref>
A CIL egy másik jelentésében [[C Intermediate Language]]-re utal, ami a C egy egyszerűsített változata, amire a kódot további elemzés céljára használják.<ref>{{cite web|url=https://kerneis.github.io/cil/doc/html/cil/|title=CIL - Infrastructure for C Program Analysis and Transformation|accessdate = 2015-02-08}}</ref>
==Bővebben==
Az [[Assembly]]vel szemben a CIL független a processzortól és az operációs rendszertől. Bármely környezetben végrehajtható, ami támogatja a Common Language Infrastructure-t,<ref>
{{cite book
| url = https://books.google.com/books?id=VGT1_UJzjM0C&pg=PA15&lpg=PA15&dq=CIL+is+platform-independent#v=onepage&q=CIL%20is%20platform-independent&f=false
| title = Benefits of CIL
| accessdate = 2011-02-17
| quote = Furthermore, given that CIL is platform-agnostic, .NET itself is platform-agnostic...}}
</ref> mint a [Common Language Runtime|.NET runtime]] Windowson, vagy a több platformos Mono futtatórendszer. Ez elméletben szükségtelenné teszi a különböző változatok terjesztését különböző CPU-kra és operációs rendszerekre.


== Példa ==
== Példa ==

A lap 2017. április 19., 12:45-kori változata

A Common Intermediate Language (CIL)a legalacsonyabb szintű, ember által olvasható programozási nyelv a .NET Keretrendszerben és a Common Language Infrastructure-ben. Azok a nyelvek, melyek a .NET keretrendszert vagy a Monot használják, a CIL-re fordítanak, ami aztán kezelt kódra fordul. A CIL egy teljesen objektumorientált és verem-alapú assembly nyelv, melyet egy futásidejű környezet hajt végre. Az elsődleges .NET nyelvek a C#, a Visual Basic .NET és a Managed C++. Bájtkódja tovább fordítható natív kódra is.

A .NET nyelvek béta kiadásakor a CIL-t még Microsoft Intermediate Language-nek (MSIL) hívták. A szabványosításnak köszönhetően a kezelt kód neve hivatalosan CIL.[1]

A CIL egy másik jelentésében C Intermediate Language-re utal, ami a C egy egyszerűsített változata, amire a kódot további elemzés céljára használják.[2]

Bővebben

Az Assemblyvel szemben a CIL független a processzortól és az operációs rendszertől. Bármely környezetben végrehajtható, ami támogatja a Common Language Infrastructure-t,[3] mint a [Common Language Runtime|.NET runtime]] Windowson, vagy a több platformos Mono futtatórendszer. Ez elméletben szükségtelenné teszi a különböző változatok terjesztését különböző CPU-kra és operációs rendszerekre.

Példa

A "Hello, world!" program C# nyelven:

 class HelloWorldApp
 {
    static void Main()
    {
        System.Console.WriteLine("Hello world.");
    }
 }

Ugyanez CIL nyelven:

 .assembly HelloWorld
 .class auto ansi HelloWorldApp
 {
     .method public hidebysig static void Main() cil managed
     {
          .entrypoint
          .maxstack 1
          ldstr "Hello world."
          call void [mscorlib]System.Console::WriteLine(string)
          ret
     }
 }
  1. What is Intermediate Language(IL)/MSIL/CIL in .NET. (Hozzáférés: 2011. február 17.) „CIL: ... When we compile [a] .NET project, it [is] not directly converted to binary code but to the intermediate language. When a project is run, every language of .NET programming is converted into binary code into CIL. Only some part of CIL that is required at run time is converted into binary code. DLL and EXE of .NET are also in CIL form.”
  2. CIL - Infrastructure for C Program Analysis and Transformation. (Hozzáférés: 2015. február 8.)
  3. Benefits of CIL. Hozzáférés ideje: 2011. február 17. „Furthermore, given that CIL is platform-agnostic, .NET itself is platform-agnostic...”