eigene C++ "IDE"/Editor - Compiler ansteuern
-
Was hat
DuffCola schrieb:
mit C++ einen Compiler ansteuern, also Quellcode übersetzten
mit
DuffCola schrieb:
nen kleinen C++ Editor programmieren.
zu tun?
-
Belli schrieb:
Was hat
DuffCola schrieb:
mit C++ einen Compiler ansteuern, also Quellcode übersetzten
mit
DuffCola schrieb:
nen kleinen C++ Editor programmieren.
zu tun?
Er will eine IDE schreiben und wissen, wie man ein externes Programm steuert, nämlich den Compiler. Was durchaus eine Frage ist, deren Antwort man wissen muss, um eine kleine IDE schreiben zu können. Wenn man aber die Antwort weder selber kennt, noch selber drauf kommt, dann wird man bei dem Vorhaben auf noch sehr viel schwierigere Probleme stoßen.
-
Zitat:
wie kann man mit C++ einen Compiler ansteuern, also Quellcode übersetzten usw ?
Mit der Konsole? Dazu gibt es massenweise Tutorials im Internet. Googlen.
Unter welchem Stichwort ?
ich finde nix.Zitat:
Ich würde mir nämlich gerne mal aus Spaß nen kleinen C++ Editor programmieren.... Sicher, dass das kein zu groß geratenes Unterfangen ist?
Du könntest recht haben, aber ich meine nur ein bisschien Quellcode übersetzetn und auszuführen lassen, kann ja nicht das Mega ding sein.
ich rede ja jetzt von keiner Mega Super IDE die den Syntax usw Überprüft....Was hat
DuffCola schrieb:
mit C++ einen Compiler ansteuern, also Quellcode übersetztenmit
DuffCola schrieb:nen kleinen C++ Editor programmieren.
zu tun?Weil ich zum beispiel, den in meinem Editor eingegeben Text mit einem Klick compilieren und ausführen will.
-
DuffCola schrieb:
wie kann man mit C++ einen Compiler ansteuern, also Quellcode übersetzten usw ?
Den Compiler aufzurufen ist das geringste Problem.
Hängt auch davon ab, welchen Compiler Du benutzt.Viel viel schlimmer ist: Was willst Du mit den Ausgaben des Compilers machen?
http://msdn.microsoft.com/en-us/library/ms682499(VS.85).aspx
-
SeppJ schrieb:
Belli schrieb:
Was hat
DuffCola schrieb:
mit C++ einen Compiler ansteuern, also Quellcode übersetzten
mit
DuffCola schrieb:
nen kleinen C++ Editor programmieren.
zu tun?
Er will eine IDE schreiben und wissen, wie man ein externes Programm steuert
ist das nicht etwas völlig anderes, als einen Editor zu programmieren, oder meine ich das nur?
-
Dann hat er eben Editor und IDE vertauscht. War doch aus dem Kontext klar.
Was willst Du mit den Ausgaben des Compilers machen?
Anzeigen wäre wohl eine Möglichkeit. Und die Einfachste noch dazu.
-
Belli schrieb:
SeppJ schrieb:
Er will eine IDE schreiben und wissen, wie man ein externes Programm steuert
ist das nicht etwas völlig anderes, als einen Editor zu programmieren, oder meine ich das nur?
Ich vermute mal, "Editor" heißt hier, irgendwas zusammenklicken aus einem GUI-Framework. Ein Textfeld und ein Button zum compilieren. Genaueres musst du vom TE erfragen. Falls es über diese Spekulation hinaus geht, dann ist das Projekt, wie schon von mehreren Stellen vermutet, wohl etwas zu ambitioniert.
-
Aslo, ja ich habe in dem Fall Editor mit einer IDE verwechselt.
Gut so jetzt weiß jeder das ich von einer IDE rede.
Was die Ausgaben angeht, ist es mir zunächst mal egal, ich will einfach nur etwas source Code übersetzten und ausführen lassem.
Das ganze unter Windows 7 64 bit mit dem MinGW Compiler.
-
Andere Compiler gehen auch.
-
ggf. das mal anschauen: http://www.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html
Make und so...
Gruß Helmut
-
du solltest dich unter Windows mit der Windows API befassen.
Hier ist für dich die Funktion CreateProcess interessant.Du legst für stdin, stdout und stderr Pipes an und reichst die an den Kindprozess (in deinem Fall an den Compiler) weiter.
stdin brauchst du theoretisch nicht, da ein Compiler in der Regel keine Eingaben erwartet.
stdout könnte interessant sein, muss aber nicht... kannst du also im Normalfall ignorieren.
Auf Ausgaben in stderr (aus der Sicht deines Programmes sind das Eingaben) solltest du hingegen achten, da Compiler hier für gewöhnlich Warnungen und Fehler ausgeben.Pipes anlegen geht mit CreatePipe.
Solltest du von alledem jetzt nur Bahnhof verstanden haben, würde ich dir raten, dich erstmal mit den Grundlagen der Windows API zu befassen.
Frameworks wie Qt4 können das aber auch wegabstrahieren. Mit boost.process geht oben beschriebenes ebenfalls plattformunabhängig, ist aber noch kein offizieller Teil von boost...
kommt halt auch drauf an, womit du den Editor machen willst... WinAPI/MFC/Qt/FLTK/GTK whatever