Zitat von
anylol:
Zitat von
Apollonius:
Ein Compiler erzeugt Bytecode, der dann von einer Runtime interpretiert oder JIT-kompiliert wird. Die ausgelieferte Datei ist daher bereits plattformunabhängig
Äm, nicht richtig oder??
Wenn ich unter Windows compiliere mit einer windows-
IDE oder nur einen compiler, ist es eine windows-binary. richtig?
Ich muss also je
OS und ie compiler 1x compilieren.
Nein. .NET Code ist Intermediate-Language.
Jede Plattform übersetzt den
IL-Code beim erstmaligen Aufrufen (also just in time - JIT) in echten binärcode für die CPU. Das bedeutet sogar, dass der
IL-Code ggf. auf einem x64 System anders übersetzt wird als einem 32bit-System, und hier durch die runtime nochmal auf die jeweilige CPU optimiert wird.
Einmal compilieren -> gleiches Binary auf Windows, Linux oder Mac-Systemen benutzen. Und im Gegensatz zu Java heisst es sogar tatsächlich compile once, run anywhere und nicht compile once, debug anywhere.
Zitat von
anylol:
Andere Frage:
Ein Toolkit kann ich aber trotzdem verwenden, oder? Finde GTK schick!
Sofern es das Toolkit für .NET gibt, ja. Aber Du hast Glück: Das Mono-Projekt arbeitet auch an Gtk#:
http://www.mono-project.com/GtkSharp
Es gibt für Max OSX z.B. auch Cocoa#.