[Tutorials.at] Kommandozeilen-Parameter

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Prosecutor
Beiträge: 2
Registriert: Sa Apr 14, 2012 4:32 pm

[Tutorials.at] Kommandozeilen-Parameter

Beitrag von Prosecutor » So Apr 15, 2012 10:22 am

HI Leute,

ich hab vor 2 Tagen angefangen mich durch das C-Tutorial auf Tutorals.at zu schlagen. Lief bisher eigentlich auch wirklich toll und es macht richtig Spaß, aber auf der zweiten Seite wo es um das Deklarieren von Variablen und Konstanten geht (siehe unten) verstehe ich eine Anweisung nicht:
In Beispiel 1 werden Sie den Fehler vermutlich leichter finden als in Beispiel 2. Im ersten Beispiel steht eine gesamte "sinnvolle" Anweisung vor der Variablendeklaration. Im zweiten Beispiel hat es der fehlersuchende Programmierer schon wesentlich schwerer. Das Einzige, was hier fehl am Platz ist, ist ein "verloren gegangenes" Semikolon. Es steht vor der Variablendeklaration und wird daher vom Compiler auch als gesamte Anweisung betrachtet. Daher auch ein Fehler.

Übrigens: Die Zeile /* Erst jetzt folgen weitere Anweisungen */ ist mit /* und */ als Kommentar markiert. Kommentare werden vom Compiler ignoriert. Darauf gehe ich in Kapitel 4 noch genauer ein.

Nun zur Praxis: Alle oberen "falschen" Beispiele funktionieren mit GCC - ohne Fehlermeldungen, ohne Warnungen. Das liegt daran, dass GCC auch ein C++-Compiler ist und auch die neueren C-Standards unterstützt. Ab C99 ist es nicht mehr notwendig, dass Variablendeklarationen am Anfang des Anweisungsblockes stehen. In C++ sowieso nicht. Selbst mit dem Kommandozeilen-Parameter -std=c89 lässt sich der Quellcode problemlos übersetzen. GCC dürfte neuere Erweiterungen trotzdem zulassen, solange sie nicht mit dem alten C-Standard in Konflikt stehen. Die "Fehler-Simulation" wird erst dann perfekt, wenn Sie zusätzlich noch den Parameter -pedantic ergänzen.


[Quelle]

Ich benutze die aktuelle Version von Code::Blocks und verstehe nicht ganz wie ich diese Parameter einbauen soll.


MfG

Pros

Edit by cloidnerux: Nach C/C++ verschoben, war vorher in Tutorials

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: [Tutorials.at] Kommandozeilen-Parameter

Beitrag von cloidnerux » So Apr 15, 2012 10:38 am

Hi und Willkommen im Forum.

Was du suchst findest du unter Projekt->Build Einstellungen. Da ist eine Liste mit Kästchen, wo du die entsprechenden Optionen Aktivieren kannst.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Prosecutor
Beiträge: 2
Registriert: Sa Apr 14, 2012 4:32 pm

Re: [Tutorials.at] Kommandozeilen-Parameter

Beitrag von Prosecutor » So Apr 15, 2012 11:30 am

Danke für die Antwort! :) Allerdings kann ich im Reiter "Project" die Option "Build Options..." (graue Schrift) nicht auswählen.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: [Tutorials.at] Kommandozeilen-Parameter

Beitrag von cloidnerux » So Apr 15, 2012 11:59 am

Danke für die Antwort! Allerdings kann ich im Reiter "Project" die Option "Build Options..." (graue Schrift) nicht auswählen.
Weil du dann wahrscheinlich kein Projekt angelegt hast, sondern nur eine einzelne Datei compilierst.
Entweder musst du ein Projekt anlegen oder im Menü unter Settings->Compiler and Debugger die globalen Compiler settings ändern.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: [Tutorials.at] Kommandozeilen-Parameter

Beitrag von Xin » So Apr 15, 2012 1:36 pm

Prosecutor hat geschrieben:HI Leute,

ich hab vor 2 Tagen angefangen mich durch das C-Tutorial auf Tutorals.at zu schlagen. Lief bisher eigentlich auch wirklich toll und es macht richtig Spaß, aber auf der zweiten Seite wo es um das Deklarieren von Variablen und Konstanten geht (siehe unten) verstehe ich eine Anweisung nicht:
Selbst mit dem Kommandozeilen-Parameter -std=c89 lässt sich der Quellcode problemlos übersetzen. GCC dürfte neuere Erweiterungen trotzdem zulassen, solange sie nicht mit dem alten C-Standard in Konflikt stehen. Die "Fehler-Simulation" wird erst dann perfekt, wenn Sie zusätzlich noch den Parameter -pedantic ergänzen.

Ich benutze die aktuelle Version von Code::Blocks und verstehe nicht ganz wie ich diese Parameter einbauen soll.
Den Parameter -std=c89 brauchst Du nicht. Vergiss das erstmal. Der Schalter ist nur interessant, wenn Du auf einem modernen System entwickelst, um die Software später auf einem anderen System mit einem vorchristlichen Compiler zu übersetzen.
Prosecutor hat geschrieben:Allerdings kann ich im Reiter "Project" die Option "Build Options..." (graue Schrift) nicht auswählen.
Wie Du mit Code::Blocks ein Projekt einrichtest, findest Du hier beschrieben.

Ansonsten: <werbung> C-Bereich </werbung> ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten