2017-01-10 4 views
0

Ich stieß auf ein Problem mit dem Intel-Compiler und fragte mich, ob es eine Möglichkeit gäbe, die Größe der vorverarbeiteten Quelle automatisch zu reduzieren. Es scheint, als ob viele Standard-Header (von denen ziemlich unnötiger Code stammt) eingezogen wurden, und ich möchte sie auf ein Minimum reduzieren, um den Ingenieuren zu helfen, das Problem zu beheben.Gibt es eine Möglichkeit, die Größe einer vorverarbeiteten Quelle eines Compiler-Bug-Testfalls mit Clang zu reduzieren?

+0

Es gibt einige Tools auf [GCC Wiki] (https://gcc.gnu.org/wiki/A_guide_to_testcase_reduction). – ks1322

+0

Was Sie brauchen, ist ein Werkzeug, das die Abhängigkeiten einer Definition zu einer anderen bestimmt, die Definitionen löscht, die nicht von main verwendet werden. Diese Werkzeuge existieren meistens nicht; Wir haben eine benutzerdefinierte Methode zum Parsen von C-Dateien erstellt, da sie die Größe des endgültigen Parse-Baums um ~ 95% reduzierte. –

Antwort

0

Der Vorprozessor weiß nicht, welcher Code wichtig ist und was nicht. Es ist oft möglich, dass alle Standardbibliotheks-Includes zuerst aufgelistet werden, was bedeutet, dass Sie sich nur auf das Ende der vorverarbeiteten Datei konzentrieren können, um Ihren eigenen Code zu debuggen. Diese Methode hat sich für das Debuggen komplexer Makros bewährt.

Verwandte Themen