Du hattest das Kapitel "C:Der Präprozessor" genannt. Ich habe es in "C:Preprocessor" verschoben. Kein Artikel, englischer Seitenname. Aber da ist Deine Seite nicht die einzige.Metamorph hat geschrieben:Ich verstehe es nach wie vor nicht. ^^Xin hat geschrieben:Verschoben.Xin hat geschrieben:...bitte nach C:Preprozessor verschieben, danke.
oO
C:Präprozessor
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: C:Präprozessor
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: C:Präprozessor
Vielleicht sollte man Regeln/Normen zur Namensgebung von Kapiteln/Artikeln aufstellen/verbreiten? 

Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: C:Präprozessor
Definitiv... es gibt unterschiedliche Formatierungen in den Artikeln, da müssen wir mal brauchbare Regeln machen.Dirty Oerti hat geschrieben:Vielleicht sollte man Regeln/Normen zur Namensgebung von Kapiteln/Artikeln aufstellen/verbreiten?
Ich versuche die Tage mal eine Templateseite zu schreiben.
<edit>Am Rande, ich habe eben den Präprozessorartikel mal überflogen. Zum einen *THUMBS UP*.
Ich habe die Überschriften hochgesetzt, es gibt 6 Überschriften: An alle: bitte benutzt diese auch der Reihe nach, also zuerst
Code: Alles auswählen
====== Titel ======
Bla
===== Unterkapitel =====
Snafu Foo bar Baz!
Zu dem Artikel selbst nochmal: Der wird langsam zu groß. Außerdem ist CPP (C-Präprozessor) eine eigene Sprache, daher schlage ich vor, dass Du den Artikel aufspaltest und in einen eigenen Namensraum "C:Pre" eröffnest, mit Startseite als Übersicht, was man mit dem Preprozessor alles machen kann.
Weiterhin wird dieser Namensraum überschaubar sein, das bedeutet, wir könnten in diesem Namensraum Navigationskonzepte ausprobieren, ohne gleich 100 Seiten überarbeiten zu müssen.
</edit>
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: C:Präprozessor
*_Zaunpfahl_endlich_sehe_*Xin hat geschrieben:Du hattest das Kapitel "C:Der Präprozessor" genannt. Ich habe es in "C:Preprocessor" verschoben. Kein Artikel, englischer Seitenname. Aber da ist Deine Seite nicht die einzige.

Alles klar, werde ich machen.Zu dem Artikel selbst nochmal: Der wird langsam zu groß. Außerdem ist CPP (C-Präprozessor) eine eigene Sprache, daher schlage ich vor, dass Du den Artikel aufspaltest und in einen eigenen Namensraum "C:Pre" eröffnest, mit Startseite als Übersicht, was man mit dem Preprozessor alles machen kann.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: C:Präprozessor
Sofern Du es noch nicht gemacht hast, verschieb es nicht in den Namensraum "C:Pre:", sondern "Pre:", da der Preprocessor a) eine eigenständige Sprache ist und b) von C++ genauso genutzt wird. ^^Metamorph hat geschrieben:Alles klar, werde ich machen.Zu dem Artikel selbst nochmal: Der wird langsam zu groß. Außerdem ist CPP (C-Präprozessor) eine eigene Sprache, daher schlage ich vor, dass Du den Artikel aufspaltest und in einen eigenen Namensraum "C:Pre" eröffnest, mit Startseite als Übersicht, was man mit dem Preprozessor alles machen kann.
Weiterhin wäre ein Kapitel über Seiteneffekte noch super:
Code: Alles auswählen
#define max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
int main( void )
{
int a = 4, b = 3;
int c = max( a++, b );
printf( "c: %d\n", c ); // was kommt raus?
}
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: C:Präprozessor
5?Xin hat geschrieben:Weiterhin wäre ein Kapitel über Seiteneffekte noch super:
Code: Alles auswählen
#define max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
int main( void )
{
int a = 4, b = 3;
int c = max( a++, b );
printf( "c: %d\n", c ); // was kommt raus?
}
Was verstehst du unter Seiteneffekten?
EDIT:
Weiss jemand, wieso man sowas in Headerdateien schreibt?:
Code: Alles auswählen
#ifndef __HEADER_H__
#define __HEADER_H__
/*...*/
#endif
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: C:Präprozessor
Wäre möglich...Metamorph hat geschrieben:5?Xin hat geschrieben:Weiterhin wäre ein Kapitel über Seiteneffekte noch super:
Code: Alles auswählen
#define max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
int main( void )
{
int a = 4, b = 3;
int c = max( a++, b );
printf( "c: %d\n", c ); // was kommt raus?
}
Folgendes ist hier eindeutig definiert:
Code: Alles auswählen
printf( "a: %d\n", a ); // was kommt raus? HIER WIRD NACH a GEFRAGT, NICHT NACH c.
In dem Fall, dass das Programm abhängig vom Compiler, mit dem es kompiliert wird zu unterschiedlichen Ergebnissen kommt.Metamorph hat geschrieben:Was verstehst du unter Seiteneffekten?
Aber man kann mit Macros auch sehr schön regelmäßige Effekte erzeugen, die man aber trotzdem nicht haben möchte.
Wenn __HEADER_H__ nicht definiert ist, dann definiere __HEADER_H__ und viele andere Dinge in der Datei.Metamorph hat geschrieben:EDIT:
Weiss jemand, wieso man sowas in Headerdateien schreibt?:Code: Alles auswählen
#ifndef __HEADER_H__ #define __HEADER_H__ /*...*/ #endif
Wenn __HEADER_H__ definiert ist, dann springe an #endif.
Stünde das nicht davor, würden die vielen anderen Dinge mehrfach definiert, und C/C++ würde meckern, wenn die Datei von anderen Header-Dateien mehrfach eingebunden würde. Braucht Dein .c File HeaderA.h und HeaderB.h und beider brauchen HeaderH.h würde alles in HeaderH.h zweimal definiert => Mecker.
HeaderA liest die Definitionen von HeaderH ein und HeaderB liest HeaderH ein, überspringt dann aber alle Definitionen => kein Gemecker.
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: C:Präprozessor
Es wundert mich irgendwie, dass du das noch nie gesehen hast. Normalerweise wird das in jedem Buch/Tutorial gleich nachdem man das Verteilen des Quellcodes auf mehrere Dateien durchmacht erwähnt. Häufig wird es auch 'Include-Guard' genannt, da es vor mehrfachen 'Includes' schützt.Xin hat geschrieben:Wenn __HEADER_H__ nicht definiert ist, dann definiere __HEADER_H__ und viele andere Dinge in der Datei.Metamorph hat geschrieben: Weiss jemand, wieso man sowas in Headerdateien schreibt?:
Code: Alles auswählen
#ifndef __HEADER_H__ #define __HEADER_H__ /*...*/ #endif
Wenn __HEADER_H__ definiert ist, dann springe an #endif.
Stünde das nicht davor, würden die vielen anderen Dinge mehrfach definiert, und C/C++ würde meckern, wenn die Datei von anderen Header-Dateien mehrfach eingebunden würde. Braucht Dein .c File HeaderA.h und HeaderB.h und beider brauchen HeaderH.h würde alles in HeaderH.h zweimal definiert => Mecker.
HeaderA liest die Definitionen von HeaderH ein und HeaderB liest HeaderH ein, überspringt dann aber alle Definitionen => kein Gemecker.
edit: Ich glaub so ein Kapitel könnten wir auch noch irgendwo einbauen. Ich glaub das Aufteilen auf mehrere Dateien fehlt uns noch...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: C:Präprozessor
Ja, in dem Buch, in dem ich das gelesen habe, stand es auch drin. Allerdings wurde nicht erklärt, warum das so gemacht wird. In einem E-Book wurde diese Methode noch nicht einmal gezeigt.Kerli hat geschrieben:Es wundert mich irgendwie, dass du das noch nie gesehen hast. Normalerweise wird das in jedem Buch/Tutorial gleich nachdem man das Verteilen des Quellcodes auf mehrere Dateien durchmacht erwähnt. Häufig wird es auch 'Include-Guard' genannt, da es vor mehrfachen 'Includes' schützt.
Was meinst du jetzt genau damit?Kerli hat geschrieben:edit: Ich glaub so ein Kapitel könnten wir auch noch irgendwo einbauen. Ich glaub das Aufteilen auf mehrere Dateien fehlt uns noch...
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: C:Präprozessor
Wir haben noch keine größeren Projekte im Tutorial vorbereitet.Kerli hat geschrieben:edit: Ich glaub so ein Kapitel könnten wir auch noch irgendwo einbauen. Ich glaub das Aufteilen auf mehrere Dateien fehlt uns noch...
Wir sollten Makefile vorziehen, so sie dass vor den komplexeren Datenstrukturen als bekannt vorausgesetzt werden können.
In den komplexeren Datenstrukturen sollten wir komplette Projekte zum Download anbieten, die per (einfachem) Makefile kompilierbar sind und die im Wiki ausführlich kommentiert werden.
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.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.