Pak wrote: |
KelMan wrote: | To .ΝΕΤ Framework είναι απαραίτητο. Υπάρχουν τεχνικές όπου μπορεί κάποιος να κάνει την εγκατάσταση του μαζί με την εγκατάσταση της εφαρμογής αλλά γενικά είναι κάτι που δεν συστήνεται. |
|
Χμμ... Γιατί είμαι με την ιδέα ότι μπορέις να φτιάξεις εφαρμογές σε native code?
http://msdn2.microsoft.com/en-gb/library/6t9t5wcf(VS.80).aspx
Οπόταν αν η εφαρμογή είναι σε native code τοτε δέν χρειάζεται framework σωστά?
Πάντως σε σεμινάριο το άκουσα αυτό...
|
|
Όταν γράφουμε κώδικα .NET και κάνουμε compile το παραγόμενο αποτέλεσμα είναι μια άλλη μορφή κώδικα που ονομάζεται MSIL, MicroSoft Intermediate Language. Tην πρώτη φορά που θα τρέξουμε την εφαρμογή, αυτός ο MSIL κώδικας θα ξαναγίνει compile (λέγεται JIT-compilation - Just In Time compilation) σε native code. Το NGEN utility που αναφέρεις, κάνει ακριβώς αυτό. Παίρνει τον MSIL κώδικα και παράγει το native κώδικα. Βέβαια, υπάρχουν περιπτώσεις όπου χρειάζεται να γίνει εκ νέου compilation ωστόσο δεν είναι κάτι που γίνεται συχνά.
Τώρα, η ύπαρξη native κώδικα δεν συνεπάγεται ότι δεν χρειάζεται το .NET Framework. Το πρώτο πράγμα που κάνει ο native κώδικας όταν εκτελεστεί είναι να ψάξει ένα DLL που ονομάζεται mscoree.dll το οποίο αποτελεί ουσιαστικά την πόρτα που συνδέει αυτόν τον native κώδικα με το managed περιβάλλον δηλαδή το .ΝΕΤ Framework. Από εκεί και πέρα, ο κώδικας μας χρησιμοποιεί πλέον το .NET Framework runtime.
Vir prudens non contra ventum mingit