Pragma GCC, aby dodać / usunąć opcje kompilatora w pliku źródłowym

Opracowałem bibliotekę wieloplatformową, która pozwala na rzetelne wykorzystaniepunning typu w komunikacji przez gniazdo. Ta biblioteka jest już używana w wielu projektach, z których niektóre mogę nie być świadome.

Niepoprawne korzystanie z tej biblioteki może spowodować niebezpiecznie niezdefiniowane zachowanie. Chciałbym, najlepiej jak potrafię, korzystać z tej biblioteki.

Poza dokumentacją oczywiście, w G ++ najlepszym sposobem na to jest użycie-fstrict_aliasing i-Wstrict-aliasing opcje.

Czy w GCC można zastosować te opcje na poziomie pliku źródłowego?

Innymi słowy, chciałbym napisać coś takiego:

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

Czy jest jakiś sposób?

questionAnswers(2)

yourAnswerToTheQuestion