Я разработал кросс-платформенную библиотеку, которая обеспечивает справедливое использование type-punning в сокетной связи. Эта библиотека уже используется в нескольких проектах, некоторые из которых я, возможно, не знаю.
Использование этой библиотеки неправильно может привести к опасному поведению Undefined. Я хотел бы как можно лучше убедиться, что эта библиотека используется должным образом.
Помимо документации, конечно, под g++ лучшим способом, который я знаю, является использование опций -fstrict_aliasing
и -Wstrict-aliasing
.
Есть ли способ под GCC применять эти параметры на уровне исходного файла?
Другими словами, я хотел бы написать что-то вроде следующего:
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
Есть ли способ?