AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Unterschied zw. einer Win32 EXE und einer .NET EXE
Thema durchsuchen
Ansicht
Themen-Optionen

Unterschied zw. einer Win32 EXE und einer .NET EXE

Ein Thema von bixi400 · begonnen am 6. Aug 2007 · letzter Beitrag vom 6. Aug 2007
Antwort Antwort
Benutzerbild von bixi400
bixi400

Registriert seit: 19. Mai 2003
179 Beiträge
 
Turbo Delphi für Win32
 
#1

Unterschied zw. einer Win32 EXE und einer .NET EXE

  Alt 6. Aug 2007, 17:05
Hallo,

Die Win32 Anwendungen führen ja Funktionen aus verschiedenen DLLs aus (z.B. gdi32, user32,...).

Ist das bei den .NET Anwendungen genau so, nur das sie eben andere DLLs benutzen,
oder sind diese EXE-Dateien grundlegend anderst aufgebaut?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: Unterschied zw. einer Win32 EXE und einer .NET EXE

  Alt 6. Aug 2007, 17:19
.NET .Echsen sind grundlegend anders aufgebaut.

Native .Echsen werden in den Speicher geladen und direkt als Ausführbarer Code an die CPU übergeben. Die ganzen Dll Calls werden dann direkt durch den Exe-Programmcode ausgeführt.

Bei .NET .Echsen wird nur der Header direkt ausgeführt. Diese übergibt den Rest der .exe an die .NET Runtime. Das mag das .NET Framework unter Windows oder z.B. auch MONO unter Linux sein.
Die Runtime compiliert dann die in der .Exe vorhandene IL in ausführbaren Code und führt den dann in einer Art VM aus.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Unterschied zw. einer Win32 EXE und einer .NET EXE

  Alt 6. Aug 2007, 17:19
Eine .Net-Exe besteht nicht aus x86-Assembler-Bytecode, sondern aus IL(Intermediate Language)-Code. Dieser wird von .Net-Interpretern oder JIT-Compilern (.Net Runtime Framework, Mono, dotGNU) in Maschinencode überführt und ausgeführt.

Eingebunden werden nicht DLLs, sondern "Assemblies", die wiederum aus IL-Code bestehen (aber auch die Dateiendung ".dll" haben)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von bixi400
bixi400

Registriert seit: 19. Mai 2003
179 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Unterschied zw. einer Win32 EXE und einer .NET EXE

  Alt 6. Aug 2007, 17:24
Danke für die Antworten!
Ist alles was ich wissen wollte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz