Ich hatte kürzlich Grund, mit einigen Visual Studio C ++ - Projekten mit den üblichen Debug- und Release-Konfigurationen zu arbeiten, aber auch mit 'Release All' und 'Debug All', die ich noch nie zuvor gesehen hatte.
Es stellt sich heraus, dass der Autor der Projekte eine einzige ALL.cpp hat, die alle anderen .cpp-Dateien enthält. Die * Alle Konfigurationen erstellen nur diese eine ALL.cpp-Datei. Es ist natürlich von den regulären Konfigurationen ausgeschlossen, und reguläre Konfigurationen erstellen nicht ALL.cpp
Ich habe mich nur gefragt, ob dies eine gängige Praxis ist. Welche Vorteile bringt es? (Meine erste Reaktion war, dass es schlecht roch.)
Auf welche Fallstricke werden Sie wahrscheinlich stoßen? Eine, an die ich denken kann, ist, wenn Sie anonyme Namespaces in Ihren .cpps haben, diese für diese cpp nicht mehr "privat" sind, sondern jetzt auch in anderen cpps sichtbar sind?
Alle Projekte erstellen DLLs, daher wäre es keine gute Idee, Daten in anonymen Namespaces zu haben, oder? Aber Funktionen wären OK?
Prost.