Login


 
Newsletter
Werbung

Fr, 5. Juli 2002, 08:00

C#-Compiler unter Linux

Einem Professor in Südafrika ist es gelungen, Microsofts C#-Compiler und seine Laufzeitumgebung auf Linux zum Laufen zu bekommen.

Der Compiler mit dem Codenamen Rotor (steht bei Paraglider-Piloten für eine Turbulenz, die zum Absturz führt) ist unter der Shared-Source-Lizenz von Microsoft erhältlich.

Professor Shaun Bangay ging von der bereits laufenden FreeBSD-Version aus. Der Download von der Microsoft-Seite bestand aus einem mit gzip komprimierten Tar-Archiv. Aber beim Compilieren der Quellen gab es immer wieder Schwierigkeiten. Oft handelte es sich um kleine Unterschiede in Funktionen von FreeBSD und Linux, die von den Programmierern nicht berücksichtigt worden waren.

Im ersten Schritt mußte eine Softwareschicht namens PAL (Platform Adaption Layer) angepaßt werden, die jede Plattform an die Windows-Funktionsaufrufe anpaßt. Positiv ist hier der mitgelieferte Konformitätstest zu vermerken, mit dem man prüfen kann, ob alle Funktionen wie erwartet arbeiten.

Der Rest der Quellen bedurfte ebenfalls einiger Anpassung an die strengen Prüfungen von GCC. So verwendeten die Microsoft-Programmierer das Schlüsselwort or als Variablenname, verwendeten die Präprozessor-Symbole # und ## falsch und machten unportable Annahmen über die Größe von Zahlen und Adreßbereiche.

Zuletzt lag die Kommandozeilen-Version des Compilers vor, mit dem ein simples Demo-Programm, das »Hello World!« ausgibt, übersetzt werden konnte. Ein Vergleich ergab, daß das Programm auf allen Plattformen identisch war und damit das Versprechen der Plattformunabhängigkeit erfüllte.

Der an Linux angepaßte Quellcode ist unter der Shared-Source-Lizenz von der angegebenen Seite erhältlich. Eine freie, nicht von dieser Lizenz behinderte Version, ist vom Mono-Projekt erhältlich, wenn auch nicht komplett fertiggestellt.

Werbung
Kommentare (Insgesamt: 49 || Alle anzeigen || Kommentieren )
Re: Kimble (BufferOverflow, Do, 11. Juli 2002)
Re[4]: Lizens (rübezahl, Mi, 10. Juli 2002)
Re[4]: Lizens (rübezahl, Mi, 10. Juli 2002)
Re[4]: # (Haertie, Mo, 8. Juli 2002)
Re: Ballmer 2000 (Natas, Mo, 8. Juli 2002)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung