Kategorie: Übersetzer für die Programmierung

Mono (Software)


Mono ist eine Open – Source – Ansätze, eine freie Entwicklungsumgebung erstellen .NET – Entwicklerdie bei der Wahl des Betriebssystems für ansonsten beschränkt sind Microsoft Windows . Mono ist als Multi-PlattformAnwendung entwickelt und läuft auf verschiedenen UnixVarianten, einschließlich Linux , Solaris und Mac OS X . Mono werden durch subventionierte Novell . Microsoft hat verbrachte Ecma – Standards zu entwickeln für .NET und Mono fürvollständige Einhaltung Ziel. Viele .NET – Entwickler betrachten viele der Ressourcen Microsoft als Teil des .NET FrameworkVerfügung stellt, und diese Eigenschaften wahrscheinlich Mono kann nie implementieren, und daher wird es Unterschiede zwischen den beiden Entwicklungsumgebungen sein, später Abschnitt.

Mono ist nicht auf eine bestimmte Anzahl von Programmiersprachen beschränkt. Stattdessen ist es möglich , einen Übersetzer von jeder Sprache zu entwerfen , ein CLI und passen sie in Mono – Umgebung. Auf diese Weise ist es möglich , .NET – Anwendungen in der Entwicklung ein . Mono unterstützt eine größere Menge von Programmiersprachen (siehe Liste unten).

Unterschiede in Entwicklungsumgebungen

Die Standardisierung von ECMA bereits in dem Prozess hat dazu beigetragen, die Unterschiede zwischen Mono Project und Microsoft .NET zu minimieren. Microsoft hat sich dafür entschieden, ihre .NET mit einem inneren Weg zu binden GUI-Anwendungen zu entwerfen, die so genannte Windows.Forms. Mono hat stattdessen zu binden, ihre Umgebung mit GTK ausgewählt. GTK und Windows.Forms sind nicht kompatibel.

Einige Teile des Mono-Entwicklungsteam ist in dem Prozess der Entwicklung, die Mono mit Window.Forms kompatibel machen sollte, aber da Window.Forms gebunden eng mit dem zugrunde liegender Windows-Funktionalität ist nicht sicher, es möglich ist, das Verhalten zu emulieren.

Programmiersprachen

Mono ist, wie bereits erwähnt, nicht auf eine feste Anzahl von Programmiersprachen gebunden, sondern kann jeden Übersetzer unterstützen, die auf die CLI übersetzt. Hier finden Sie eine Liste der nuværerende unterstützten Sprachen:

  • C #
  • Java
  • buh
  • Nemerle
  • Visual Basic.NET
  • Python
  • Javascript
  • Oberon
  • PHP
  • Object Pascal
  • LSL

GCC


GCC ist ein vielseitiger Compiler in entwickelten GNU – Projekt. Ursprünglich GCC Akronym für GNU C Compiler, aber da gibt es Unterstützung für mehrere hinzugefügt wurde Programmiersprachen , war die Abkürzung als der GNU Compiler Collection bezeichnet. Es ist möglich , verschiedene Dialekte von C und zu übersetzen , C ++ . Darüber hinaus Ada , Fortran und Java übersetzt.

GCC behandelt nicht nur die Übersetzung selbst, sondern auch sicherstellen , dass zur Aktivierung des Assembler und Linker , so ist das Endprodukt ein fertiges Programm. Diese Optionen können ausgewählt werden, das ist ein Vorteil , wenn GCC verwendet wird , machen .

Klirren

Clang [2] ist ein Compiler vorderes Ende der Programmiersprachen C , C ++ , Objective-C und Objective-C ++ . Clang nutzt LLVM als Back – End und ist ein Teil von LLVM seit LLVM 2.6 worden.

Clangs Ziel ist es, eine Alternative zu dem anzubieten GNU Compiler Collection (GCC). Die Entwicklung ist Open – Source – [3] , mit mehreren großen Entwicklungsunternehmen (z. B. Google , Apple – ) , die beteiligt. Clang steht unter der verfügbar University of Illinois / NCSA Lizenz .

Clang Projekt umfasst CLANG vorderes Ende und Clang statischen Analysator . [4]

Hintergrund

Seit 2005 verwendet Apple – LLVM stärker in mehreren kommerziellen Systemen, [5] , einschließlich der iPhone – Development – Kit und Xcode 3.1.

Siehe auch

  • C (Programmiersprache)
  • LLDB
  • GCC

Quellen / Referenzen

  1. Aufspringen^ „LLVM Lizenz freigeben“
  2. Aufspringen^ Christopher, Eric (3. Juli 2008). „Fragen sich einfach Aussprache Clang“ . [{{{}}} URL LLVMdev Mailing – Liste] . 9. Juli 2008 abgerufen .
  3. Aufspringen^ Clang „Getting started“ Anweisungen
  4. Aufspringen^ Clang Static Analyzer . LLVM . 3. September 2009 abgerufen .
  5. Aufspringen^ Treat, Adam (19. Februar 2005). „Mkspecs und Patches für LLVM kompilieren von Qt4“ . [{{{}}} URL Qt4 Vorschau Feedback Mailing – Liste] .

LLVM

LLVM (früher Low Level Virtual Machine ) ist eine Compiler – Infrastruktur, geschrieben in C ++ . LLVM ist für entworfen Compile-Zeit , Link-Zeit , Laufzeit und „Ruhezeit“ Optimierung von Programmen in einer schriftlichen Programmiersprache . Zunächst nur C und C ++ implementiert – heute gibt es weitere Sprachen , die auch als LLVM übersetzt werden können: Objective-C , Fortran , Ada , Haskell , Java – Bytecode , Python , Ruby – , Actionscript , GLSL und Rust .

LLVM – Projekt begann im Jahr 2000 University of Illinois in Urbana-Champaign , angeführt von Vikram Adve und Chris Lattner .

LLVM verwendet Clang als C / C ++ Kompilierer Frontend.

Siehe auch

  • LLDB (Debugger)
  • Die GNU Compiler Collection (GCC)
  • OpenCL

Quellen / Referenzen

  1. Aufspringen^ „Lizenz“ , LLVM: Häufig gestellte Fragen , llvm.org , abgerufen 2012-01-27