Ich habe mich cpp sporadisch von 'beschleunigtes C++' gelehrt und vor kurzem habe ich festgestellt, dass, wenn ich meine #include <algorithm>
-Anweisung vergessen habe, mein Code (der transform und find_if enthält) kompiliert und trotzdem erfolgreich ausgeführt wurde. Danach habe ich versucht, alle Standard Header Include-Anweisungen vollständig zu entfernen und festgestellt, dass mein Code noch ausgeführt wurde.Wie greife ich auf die cpp-Standardbibliothek zu, ohne "#include" -Anweisungen zu setzen?
Ich nehme an, dass meine Unfähigkeit, Präprozessorbefehle zu verstehen, bis zum Ende des Buches gelöst sein wird, aber jetzt muss ich nur wissen, wie ich sicherstellen kann, dass mein Terminal mich schreit, wenn ich den Header falsch mache lerne, wo sich die Dinge in der std-Bibliothek befinden.
mir läuft OS 10.6.5, also muss ich meinen Code mit der folgenden Unix-EXE-Datei kompilieren:
CC = g++
CFLAGS = -Wall
PROG = TrainingProject23
SRCS = TrainingProject23.cpp
ifeq ($(shell uname),Darwin)
LIBS = -framework OpenGL -framework GLUT
else
LIBS = -lglut
endif
all: $(PROG)
$(PROG): $(SRCS)
$(CC) $(CFLAGS) -o $(PROG) $(SRCS) $(LIBS)
clean:
rm -f $(PROG)
es das Build-Protokoll für OpenGL enthält, weil ich das so gut lerne und es einfach genug um diese Datei zu verwenden, um alle meine C++ - Projekte zu kompilieren. Ich verstehe das Makefile nicht wirklich, außer wie ich den Quellcode und den Programmnamen ändere, ich habe es gerade aus dem Internet geholt.
Nicht genügend Informationen. Wir brauchen TrainingProject23.cpp –
Hmm ... TrainingProject23 ist nur eine Datei, die ich geöffnet habe, so dass ich die obige Unix-Datei nicht sehr ändern muss (ich bekomme SRCS = TrainingProjects23 das gleiche von Projekt zu Projekt). Ich lösche die Inhalte häufig vollständig und beginne von vorne, um etwas Neues auszuprobieren. Ich habe den Inhalt nicht mehr, aber jeder Code, den ich ausprobiert habe, führt zu denselben Ergebnissen: Er läuft und kompiliert erfolgreich, unabhängig davon, ob die erforderlichen Standardbibliotheksknoten enthalten sind oder nicht. – hedgehogrider