Erzwinge, dass der Compiler einige Zeilen im Programm ignoriert

Vermute, dass ich 10.000 Zeilen C++ - code. 200 Zeilen dieses Codes sind für Test-Zwecke (zum Beispiel, überprüfen Sie das Programm und zeigen eine Fehlermeldung).

Gibt es eine Möglichkeit in C++ zu ignorieren oder zu prüfen, einige Linien des Codes (vielleicht mit Präprozessor keywords)?

Kommentar zu dem Problem
#ifdef TESTS aufgerufen wird bedingte Kompilierung. Kommentarautor: Grijesh Chauhan
Als ich sah, dass der Titel für diese Frage, habe ich sofort gedacht "Uh, kommentieren Sie Sie aus?" 😉 Kommentarautor: Ajedi32
Die Frage beschäftigt mich, weil statt 200 Zeilen code, eingebettet in 10.000 Zeilen (vermutlich in vielen Dateien), wäre es sinnvoll, das testen von code in bestimmten unit-test, und/oder die integration von test-Dateien. Auch 200 test-Leitungen für 10K Zeilen des production code (2%) sehr wahrscheinlich bedeutet, dass Sie haben eine sehr geringe Testabdeckung. Ich weiß, das ist nicht der Fokus von der Frage (also einen Kommentar statt einer Antwort), aber ich denke, Sie sollten bewerten Sie Ihre Test-Strategie. Kommentarautor: Dale Wilson
Ich bin unglaublich überrascht dies nicht doppelt nach all den Jahren der StackOverflow. Kommentarautor: jpmc26
Jeder scheint zu sein, was darauf hindeutet, #ifdef (oder #if defined). Das ist schlechter Stil und borderline-völlig gebrochen. Verwenden Sie #if, nicht #ifdef. Der Grund ist, dass #define IS_TEST_BUILD 0 sollte das gleiche tun wie #undef IS_TEST_BUILD, nicht das gleiche wie #define IS_TEST_BUILD 1. Kommentarautor: Ben Voigt

InformationsquelleAutor der Frage user1436187 | 2014-01-21

Schreibe einen Kommentar