При определении макросов, на которые полагаются заголовки, например _FILE_OFFSET_BITS
, FUSE_USE_VERSION
, _GNU_SOURCE
, где это лучшее место для размещения?
Некоторые возможности, которые я рассмотрел, включают
- В верхней части любых исходных файлов, которые полагаются на определения, представленные заголовками, включенными в этот файл
- Непосредственно перед включением для соответствующего заголовка (ов)
- Определить на уровне
CPPFLAGS
через компилятор? (например,-D_FILE_OFFSET_BITS=64
) для:- Целый репо-источник
- Весь проект
- Только те источники, которые этого требуют.
- В заголовках проектов, которые также должны включать соответствующие заголовки, к которым применяются макросы.
- Некоторое другое место, о котором я не думал, но бесконечно превосходен
Примечание. Основанием для моего решения является обоснование применимостью к make, autotools и другим системам сборки.