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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage