C# Anfänger
-
Hallo, habe heute mit C# angefangen (bisher C). Hier schon die erste Frage:
Habe gerade gelesen, dass ein C# Programm bis zur Ausführung zweimal kompiliert wird. 1. in den MSIL-Code (exe) Datei, danach bei der Ausführung mit dem JIT-Compiler in den MaschinenCode und damit zur Ausführung.Bedeutet das, dass ich auch C# Programme auf Linux Systemen laufen lassen kann, wenn ich sie auf Windos XP entwicklet habe, oder bin ich von vornherein auf dem Holzweg???
Vielen Dank für eure Antworten.
-
Theoretisch läuft deine Anwendung auf jedem Linux-Rechner mit mono.
Praktisch hinkt die Mono-Implentierung (.net auf Linux) der MS-Implementierung teilweise etwas hinterher und man muss aufpassen das man keine Sachen einbindet die plattform-abhängig sind.
D.h. nicht drauf verlassen, sondern testen!
-
Für Linux gibts wohl das "Mono-Projekt", damit sollen C#-Anwendungen auch unter Linux laufen. Genauer befasst hab ich mich damit allerdings noch nicht, allerdings habe ich schon öfters gehört das es momentan noch nichts halbes und nichts ganzes sein soll. Das Projekt wird auch nicht von Microsoft selbst, sondern von Novell entwickelt und es gab wohl auch schon einen Rechtsstreit zwischen beiden.
Vielleicht hilft Dir hier der Artikel bei Wikipedia weiter:
http://de.wikipedia.org/wiki/Mono-ProjektAber wie gesagt kenne ich mich auch nicht so genau damit aus und lasse mich deshalb gern eines besseren belehren...
-
leyden schrieb:
Bedeutet das, dass ich auch C# Programme auf Linux Systemen laufen lassen kann,
wie schon von anderen geschrieben - theoretisch ja ... aber ... Mono basiert auf einem komplett anderem Quelltext ... d.h. Dein Programm kann an einigen Stellen ein anderes Verhalten zeigen - weil sich der Quelltext von Mono & .NET unterscheiden ... wenn ich nicht weis auf welchem BS mein Programm später läuft, verwende ich lieber Java