Newest Viewed Downloaded

.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004

.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004

Historiaa

C# julkaistiin 6/2000 Julkaisun yhteydessä CLI (common language infrastructure) ECMA.n standartoitavaksi Kehittelyn taustalla Anders Hejlsberg (palkattiin Borlandilta kehittämään Java-virtuaalikonetta) Sun ja Microsoft erimielisyyksiin JVM:stä

.NET

Suurin muutos sitten DOS  Win MS:n taisteluase Javaa vastaan  satsattu paljon Sovelluskehittäjälle Yhteinen runtime Uusi komponenttimalli Uudet kielet ?.NET Parempi kehitysympäristö XML-tuki Tukihenkilölle DLL ongelmat poistuu Tietoturva Uusi integreointimalli

.NET perhe

C# VB.NET ASP.NET ADO.NET J# (C++) … muut .NET kielet

Käsitteitä

CLS – Common Language Specifigation, määrittää millainen .NET kielen tulee olla CTS – Common Type System, määrittää kielen muuttujatyyppirakenteen kaikille .NET kielille BCL – Base Class Library, kaikille kielille yhteinen perusluokkakirjasto CLR – Common Language Runtime on ajonaikainen ympäristö (lataa sovellukset, suorittaa JIT käännökset, huolehtii suoritusoikeuksista, muistin hallinta, kutsuu käyttöjärjestelmän palvelut) JIT – Just In Time

Mitä uutta

Managed koodia suoritetaan CLR:n alla  ei enää bin-koodia, vaan MSIL-kieltä (Microsoft Intermediate Language, assembly-kieli)  koodi ajetaan frameworkissä (vrt. Javan VM…) { C#  FrameWork  käyttöjärjestelmä } Alusta riippumaton hajautustekniikka (Web Services) Helpompi hallita… asennus on xcopyä (on dll-tiedostoja, muttei tarvitse rekisteröintiä)

FrameWork

Windows COM+ Services Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Windows Forms Common Language Specification VB.NET C++ C# J# Jne..

Koodista sovellukseksi…

Kirjoita lähdekoodi Käännä lähdekoodi exeksi (csc.exe) C# kääntäjä kirjoittaa MSIL-koodin ja luettelon (manifest), jossa on PE (Win32 portable executable) otsikko  koodiin tulee _CorExeMain ajonaikainen tiedosto Kun sovellus käynnistetään, otetaan PE ja tarvittavat DLL:t, myös mscoree.dll (CorExeMainiä varten) Käyttöjärjestelmän lataaja hyppää PE:n aloituskohtaan = aloituskohta on _CorExeMain-funktion aloituskohta

… koodista sovellukseksi

CorExeMain käynnistää MSIL koodin suorituksen MSIL-koodia ei voi suorittaa suoraan, vaan se on käännettävä CLR:n avulla konekieleksi. Käännöksessä käytetään JIT täsmäkääntäjää JITeistä on käytössä kolme erilaista vaihtoehtoa Asennusaikainen (PreJIT) – kääntää asennuksen aikana bin-koodiksi JIT – suorituksen aikainen käännös EconoJIT – koneille joissa vähän muistia eli käännetään osia sitä mukaa kuin tarvitaan

CLR käännös, suoritus kuvana

Lähdekoodi Kääntäjä Code / Metadata JIT compiler Native code Käännös tehdään Metodikohtaisesti JIT valinnan mukaisesti; Ensimmäisellä kutsu- Kerralla tai asennetta- essa

ILDASM

IL Disassembler Tee sovellus ja käännä exe Aja ildasm Start – Programs – MS Visual Studio.NET 2003 – Visual Studio.NET Tools – Visual Studio.NET 2003 Command Promt Avaa File/Open toiminnolla exe Tutustu Manifestiin ja assembler koodiin

Showing 1 - 11 of 11 items Details

Name: 
NET ohjelmointi
Author: 
Sepe
Company: 
Savonia AMK
Description: 
.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004
Tags: 
net | common | language | jit | dll | clr | msil | visual
Created: 
10/20/2004 4:45:29 PM
Slides: 
11
Views: 
6
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap