Я определил макросы в моем предварительно скомпилированном файле заголовка, а также в другом заголовочном файле Constants.h.Должен ли я определять макросы в файле .pch или .h-файле?
Какой из лучших способов и почему?
Я определил макросы в моем предварительно скомпилированном файле заголовка, а также в другом заголовочном файле Constants.h.Должен ли я определять макросы в файле .pch или .h-файле?
Какой из лучших способов и почему?
Лично я не рекомендовал бы скомпилированные заголовки подход по многим причинам, проверьте здесь:
http://qualitycoding.org/precompiled-headers/
Apple, использует скомпилированные заголовки для AppKit, UIKit, Фонд, CoreData, ... потому что есть сотни * .h файлов, которые не изменяются вообще в каждой компиляции вашего приложения. Однако ваши пользовательские макросы занимают всего несколько байтов, а накладные расходы незначительны (если у вас нет сотен или тысяч макросов)
Лучший способ - файл .h, потому что он всегда будет скомпилирован. Файл pch предварительно скомпилирован и может привести к проблемам при возникновении изменений, но он не восстановил часть pch.
В дополнение к этому более удобно иметь любую глобальную константу в файле constant.h и не распределять по многим файлам.
приятный и информативный (по ссылке, которую вы предоставили), право на то, что наш код имеет большую зависимость от макросов в .pch, но он полезен при проверке условий, передаче параметров и у нас будет меньше ошибок. Но я полностью согласен с тем, что импорт многих системных заголовков будет проблематичным. Я бы никогда не хотел добавлять в .pch –
Samir