Erkennen GCC compile-time-flags eines binären
Ist es ein Weg, um herauszufinden, was gcc flags einen bestimmten binäre mit kompiliert wurde?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es ein Weg, um herauszufinden, was gcc flags einen bestimmten binäre mit kompiliert wurde?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen schnellen Blick auf die GCC-Dokumentation nicht drehen nichts nach.
Den Boost-Jungs sind einige der intelligentesten C++ - Entwickler gibt, und Sie resort zu benennen Konventionen, denn dies ist in der Regel nicht möglich, irgendeine andere Art und Weise (die ausführbare Datei konnte erstellt wurden, in eine beliebige Anzahl von Sprachen, die von einer beliebigen Anzahl von compiler-Versionen, nachdem alle).
(Hinzugefügt viel später): Stellt sich heraus, GCC hat diese Funktion in 4.3 wenn Sie aufgefordert werden, wenn Sie den code kompilieren:
Experimentellen Beweis:
Ich nehme das als ein Nein als Binärdateien identisch sind.
Ich bin derjenige, der fragte Brian in diesem post ursprünglich. Meine Frage zu tun hatte mit dem samba-binary. Ich fand heraus, dass Sie ausführen können
smb -b
um Informationen zu erhalten, wie es gebaut wurde.Glaube ich nicht.
Können Sie sehen, wenn es debug-Symbole, was bedeutet, dass -g verwendet wurde 😉 Aber ich kann mir nicht vorstellen, dass es eine Art und Weise, wie Sie herausfinden könnten, welche Verzeichnisse wurden verwendet, um die Suche für include-Header zum Beispiel.
Vielleicht eine bessere Antwort möglich ist, wenn man nur den Gegner für eine bestimmte Flagge; wenn Sie z.B. nur wissen wollen, ob der Flagge "..." gesetzt wurde, wenn das binary kompiliert wurde oder nicht. In diesem Fall, welche flag wäre das?