2012-12-02 13 views
15

Ich lerne C-Sprache. Ich verweise Buch von Dennis Ritchie & Kernighan. Und deshalb Just ANSI Beschwerdeprogramme. Ich habe den ANSI-Compiler installiert. Ich habe gerade Sublime Text 2 Editor installiert. Könnte jemand mir ein Build-System geben, das Folgendes tun würde.erhabener Text 2 Build-System für C-Programmiersprache

1) Kompilieren meiner Quelldatei

2) Anzeigefehler (in gut formatierte Weise) innerhalb erhaben auf erfolglose Kompilierung.

3) Bei erfolgreicher Kompilierung Binärdatei mit dem gleichen Namen wie der Quelldateiname in meinem Arbeitsverzeichnis generieren.

4) Akzeptieren Jede Benutzereingabe innerhalb von sublime zur Berechnung der Ausgabe. (Da ich Anfänger bin, schreibe ich meistens Programme, die den Benutzer zur Eingabe auffordern. Beispiel:

5) Getrennte Auswahl für Kompilieren & run.

Vielen Dank im Voraus.

+1

ST2 lässt keine Benutzereingabe zu, d. H. Ihre vierte Anforderung. – AGS

+0

danke für Ihre Antwort. Problem gelöst. :) – userzerox

Antwort

34

Aus Menü Erstellen -> New Build-System ... und copy-paste this:

Windows-

Compile Nur:

{ 
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}.exe", "-lm", "-Wall"], 
"selector" : "source.c", 
"shell":true, 
"working_dir" : "$file_path" 
} 

Compile & Lauf:

{ 
    "windows": 
    { 
     "cmd": ["cc","-std=c99" ,"$file_name","-o", "${file_base_name}.exe", "-lm", "-Wall", "&","start", "${file_base_name}.exe"] 
    }, 
    "selector" : "source.c", 
    "shell": true, 
    "working_dir" : "$file_path", 
} 

Linux

Compile Nur:

{ 
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"], 
"selector" : "source.c", 
"shell":false, 
"working_dir" : "$file_path" 
} 

Compile & Run:

{ 
    "linux": 
    { 
     "cmd": ["cc","-std=c99" ,"$file_name","-o", "${file_base_name}", "-lm", "-Wall", ";", "./${file_base_name}"] 
    }, 
    "selector" : "source.c", 
    "shell": true, 
    "working_dir" : "$file_path", 
} 

und speichern diese mit der Endung * .sublime-build

ST ist nur ein Editor, so dass Sie es nicht als Eingabestrom verwenden können, Sie müssen eine Shell wie bash, zsh, ... verwenden, um es zu tun.

+1

c633: Ich bin Ihnen sehr dankbar. Es klappt. Wirklich schätze deine Antwort. :) – userzerox

+0

Wäre es nicht schon genug, ohne den GCC anzuweisen, mit der Mathematikbibliothek '-lm' zu verlinken? – JSmyth

+0

Gibt es _sublime_ Möglichkeit, die Shell nach exec offen zu halten. auf Windows? Ich meine, es vermeidet nur das Schreiben einer zusätzlichen Zeile in C, aber es könnte für faule Leute wie mich hilfreich sein ... Oder ist es möglich, das Buildlog als Ausgabe zu verwenden? –

0

Sehen Sie die Statusleiste unten in sublime Text 2, wo es die Sprache sagt oder es sagt 'Klartext', klicken Sie darauf und suchen Sie nach 'C' Sprache. Um Sie zu bauen, müssen Sie nur Ctrl-s und Build Ctrl-B speichern, Easy as cake !. Sie können auch eine C-freundliche IDE wie Eclipse ausprobieren. http://www.eclipse.org/

+0

Dr. Astragalo: Ich brauche ein Build-System für die oben genannten Anforderungen. Bestehende Build-System bietet nicht alle oben genannten Funktionen. Das Standard-Build-System funktioniert auch nicht. C wird ausgewählt und wenn ich baue, bekomme ich "Das System kann die angegebene Datei nicht finden" Fehler. Compiler installiert Ort: C: \ MingGW \ bin PATH wird in Umgebungsvariablen ordnungsgemäß angegeben. – userzerox