История изменений
Исправление alysnix, (текущая версия) :
с другой - не хочу требовать обязательного инклюда stdarg.h перед моим хедером, и с третьей - не хочу тайком инклюдить stdarg внутри, тратя на парсинг stdarg лишнее время компилятора и засоряя пространство имён там, где юзеру эти функции не нужны.
вы какой-то особенный. если вы используете некий символ в хидере, то хидер в котором он определен НАДО включить, если нет каких- то супер возражений против этого. у вас их точно нет.
если хидер УЖЕ косвенно включен в единицу трансляции раньше вашего инклуда, не надо определять так ли это - он не будет парситься повторно из-за директивы условной компиляции, которой надо хидер оформлять.
ограничивать видимость символов надо составом хидеров, а не каким-то извратом с инклудами.
хидеры - это архаичный способ внедрения раздельной компиляции в разработку ПО. раздельную компиляцию надо рассматривать в парадигме модулей, а там вам бы пришлось импортировать все, что нужно для компиляции интерфейса модуля. то есть трюки с хочу включу, хочу не включу не сработали бы.
Исходная версия alysnix, :
с другой - не хочу требовать обязательного инклюда stdarg.h перед моим хедером, и с третьей - не хочу тайком инклюдить stdarg внутри, тратя на парсинг stdarg лишнее время компилятора и засоряя пространство имён там, где юзеру эти функции не нужны.
у вас в голове понос. если вы используете некий символ в хидере, то хидер в котором он определен НАДО включить, если нет каких- то супер возражений против этого. у вас их точно нет.
если хидер УЖЕ косвенно включен в единицу трансляции раньше вашего инклуда, не надо определять так ли это - он не будет парситься повторно из-за директивы условной компиляции, которой надо хидер оформлять.
ограничивать видимость символов надо составом хидеров, а не каким-то извратом с инклудами.
хидеры - это архаичный способ внедрения раздельной компиляции в разработку ПО. раздельную компиляцию надо рассматривать в парадигме модулей, а там вам бы пришлось импортировать все, что нужно для компиляции интерфейса модуля. то есть трюки с хочу включу, хочу не включу не сработали бы.