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?