Einfaches C Programm ausführen geht nicht...
-
DirkB schrieb:
Dass das Buch alt ist, kannst du schon am main() sehen.
Aber nicht als Anfänger.
-
Man kann es auch am Erscheinungsdatum sehen (1999).
-
Auch damals schon gab es cl.exe auf der Konsole, und damals wie heute ist das hirnverbrannter Unsinn.
-
Darum gehts doch gar nicht.
-
DirkB schrieb:
Du kannst einem alten Buch auch nicht anlasten, keine neueren Standards zu kennen.
Dass das Buch alt ist, kannst du schon am main() sehen.Als Programmier-Anfänger kenne ich die Standards nun mal nicht. Nur wer die Sprache kennt, weiß ob main() alt oder neu ist.
-
melT schrieb:
Als Programmier-Anfänger kenne ich die Standards nun mal nicht. Nur wer die Sprache kennt, weiß ob main() alt oder neu ist.
main() ist wirklich nicht mehr aktuell (wurde ja schon erwähnt ^^)
heute schreibt man int main(), das heißt:
main ist eine Funktion die ein int zurückgibt.
Glaub es gibt auch void main(), also eine Funktion die nichts zurückgibt (nichts !=0 !!!), bin mir da aber nich ganz sicher.
[an dieser Stelle danke an DirkB]Und das Erstellen einer Quelldatei in VS hat Wutz ja bereits erklärt:
Wutz schrieb:
in VS:
- neues C++ - Konsolen - Projekt
- leeres Projekt
- Hinzufügen / neue Datei / beispiel.c
- Strg+F5Beste Grüße
Lordakius
-
main
gibt immer einint
zurück.
Nur damals* wurdeint
als Rückgabewert angenommen, wenn keiner explizit angegeben wurde (bei jeder Funktion).Zu dem Prottyp von main gibt es sogar ein FAQ-Eintrag: http://www.c-plusplus.net/forum/viewtopic.php?t=39346
*Seit C99 (also seit 15 Jahren) gibt es das Verbot des impliziten int.
Aaaaaber MS unterstützt in seinem VS keinen Standard nach C89/C90. Es sei denn, es wird vom C++ Teil abgedeckt (z.B. einzeiliger Kommentar)
-
DirkB schrieb:
*Seit C99 (also seit 15 Jahren) gibt es das Verbot des impliziten int.
Aaaaaber MS unterstützt in seinem VS keinen Standard nach C89/C90. Es sei denn, es wird vom C++ Teil abgedeckt (z.B. einzeiliger Kommentar)Verständnisfrage meinerseits:
Was bedeutet 'Verbot' in diesem Zusammenhang. Wenn ich einen solchen Code(also unter Verwendung von main()) mit gcc und dem flag -std=c99 kompiliere, erhalte ich eine Warnung. Es kompiliert trotzdem. Müsste bei einem Verbot nicht der Vorgang abgebrochen werden?Oder beschreibt -std=c99 keine strikte Einhaltung des C99-Standards?
-
phf schrieb:
Oder beschreibt -std=c99 keine strikte Einhaltung des C99-Standards?
Richtig erkannt.
Dazu ist-pedantic
noch zusätzlich notwendig.
Und dass der Compiler dann auch wirklich abbricht, wird erreicht mit
-pedantic-errors
-
Habt Dank!