Предположим, я хочу пометить не встроенную функцию [[gnu::cold]];
, должен ли атрибут быть помещен в объявление в заголовке или go с определением в исходном файле? Предположим, что я не буду использовать LTO, а просто хочу, чтобы указанная функция c была оптимизирована для двоичного размера, а не для скорости выполнения.
Пример заголовка:
[[gnu::cold]] void rarely_called_func();
пример исходного файла:
[[gnu::cold]] void rarely_called_func() { ... }
Кроме того, какая позиция в объявлении / определении должна быть:
/* A */ int /* B */ func () /* C */;