GCC-Pragma zum Hinzufügen / Entfernen von Compileroptionen in einer Quelldatei
Ich habe eine plattformübergreifende Bibliothek entwickelt, die fairen Gebrauch machtTyp-Punning in der Socket-Kommunikation. Diese Bibliothek wird bereits in einer Reihe von Projekten verwendet, von denen mir einige möglicherweise nicht bekannt sind.
Eine falsche Verwendung dieser Bibliothek kann zu gefährlich undefiniertem Verhalten führen. Ich möchte nach besten Kräften sicherstellen, dass diese Bibliothek ordnungsgemäß verwendet wird.
Abgesehen von der Dokumentation ist die beste Möglichkeit, die mir unter G ++ bekannt ist, die Verwendung von-fstrict_aliasing
und-Wstrict-aliasing
Optionen.
Gibt es unter GCC eine Möglichkeit, diese Optionen auf Quelldateiebene anzuwenden?
Mit anderen Worten, ich möchte Folgendes schreiben:
MyFancyLib.h#ifndef MY_FANCY_LIB_H
#define MY_FANCY_LIB_H
#pragma (something that pushes the current compiler options)
#pragma (something to set -fstrict_aliasing and -Wstrict-aliasing)
// ... my stuff ...
#pragma (something to pop the compiler options)
#endif
Gibt es einen Weg?