Kompilieren und Ausführen von C-code in notepad++
Ich habe ein problem beim kompilieren und ausführen von C-Code in notepad++.
Ich bin mit dem nppexec plugin und schrieb Folgendes in das Skript-Abschnitt nach drücken von F6:
C:\MinGW\bin\gcc.exe -g "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
$(CURRENT_DIRECTORY)\$(NAME_PART).exe
Nach drücken der OK-Taste, bekomme ich Folgendes auf der Konsole:
C:\MinGW\bin\gcc.exe -g "D:\Silent\Documents\College Stuff\6th sem\NETWORKING lab\substitutioncypher.C" -o "D:\Silent\Documents\College Stuff\6th sem\NETWORKING lab\substitutioncypher.exe"
Process started >>>
<<< Process finished. (Exit code 0)
D:\Silent\Documents\College Stuff\6th sem\NETWORKING lab\substitutioncypher.exe
Process started >>>
Hier substitution.c
ist mein Programm ausgeführt werden. Das problem ist, dass der gcc-Teil ist in Ordnung, aber ich bin nicht in der Lage, das Programm auszuführen, das von hier wie dort ist keine Antwort.
Wie Sie sehen, es sagt nur-Prozess gestartet, und nach, dass nichts. Keine Reaktion auf die ein-Taste gedrückt wird, es akzeptiert alles, was wie ein text-editor.
Wenn ich gehen, um das Arbeitsverzeichnis und führen Sie das Programm von dort aus (Doppelklick auf die exe-Datei), dann scheint es zu laufen, völlig in Ordnung. Das problem scheint zu sein, in meinem Skript oder plugin.
Bitte, kann jemand herausfinden, was falsch ist mit meinem kompilieren und ausführen von Skript?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zusätzlich zu @paxdiablo 's Antwort, Sie kann auch nützlich finden die folgenden NppExec-Skript für eine einzige Datei Projekte:
Der 1. Zeile speichert das Dokument, das derzeit aktiv innerhalb notepad++.
Die 2. Zeile stellt Ihren aktuellen Verzeichnis des aktiven Dokuments. Dieser ließ Sie es zu unterlassen, mit der
"$(CURRENT_DIRECTORY)"
Variablen in den rest der Linien.Der 3. Zeile entfernt alle ausführbare Dateien und Objekt-Datei-Reste vom vorherigen erfolgreichen compilations. Entfernen der letzten ausführbare Datei ist eine schöne Idee, weil wenn nicht, dann die Letzte Zeile bewirkt, dass Ihre .exe-Datei erzeugt, die von der letzten Kompilierung ausgeführt werden sowieso, auch wenn Ihre aktuelle Zusammenstellung ausfällt. Eine ausgefallene Zusammenstellung nicht produzieren .exe-Datei, so dass Sie normalerweise nicht wollen, NppExec zum ausführen des vorherigen .exe. Entfernen Sie die zuvor erzeugte Objekt-Datei ist optional, aber es wird gewährleistet, dass Sie keinen Einfluss auf die frisch-Zusammenstellungen (es macht mehr Sinn, in multi-Datei-Projekten als alternative zu den
touch
command-line tool).Der 4. Zeile stellt die aktive Dokument. Fühlen Sie sich frei zu ändern, gcc-Optionen nach Ihren Bedürfnissen. Wenn Sie hinzufügen
C:\MinGW\bin
in die Windows -PATH
- Umgebungsvariable, und vorausgesetzt, Sie verwenden nur eine gcc-installation auf Ihrem system, dann können Sie überspringen den absoluten Pfad, und schreiben nurgcc
statt.Die Letzte Zeile führt die erzeugte ausführbare Datei. Die
npp_run
Befehl sagt NppExec zu starten, ein neues Fenster der Eingabeaufforderung, und führen Sie das Programm in es (es sei denn, es ist ein WIN32-GUI-Programm). Ich persönlich finde es bequemer im Vergleich zu den NppExec-Konsole einbetten in notepad++. Es sieht natürlicher aus, und es vermeidet auch einige I/O-Umleitung Probleme des NppExec-Konsole.Allerdings, wenn Ihr Programm ist eine Konsolenanwendung, die nicht mit dem Benutzer interagieren zu sagen über eine Schleife, dann ist dieser Ansatz führt dazu, die gestartet Fenster der Eingabeaufforderung zu schließen, sofort nachdem das Programm beendet wird, nicht geben Ihnen die chance zu prüfen, seinen Ausgang. In diesem Fall sollten Sie das Programm wartet auf einen Tastendruck durch den Nutzer kurz vor seiner Beendigung. Eine quick-and-dirty Weg ist, um eine
system("pause");
direkt vor Ihrenmain()
Funktionreturn
- und/oderexit()
Aussagen (es ist viel besser, obwohl das schreiben einer einfachen cross-Plattform-Funktion oder ein makro dafür).Können Sie Experimentieren mit dem oben genannten Skript, indem Sie es in F6 ist
<temporary script>
und speichern Sie es dauerhaft für den Allgemeinen Gebrauch, wenn Sie glücklich sind mit Ihrem Verhalten.On a side note, Sie kann auch finden es nützlich, einen Blick auf dieser Beitrag, wo ich versuche zu erklären, wie Sie auf setup NppExec so springt Sie auf die entsprechende Zeile im source-code durch einen Doppelklick auf eine Fehlermeldung gcc spuckt in die NppExec-Konsole während der Kompilierung.