Мне интересно, какие накладные расходы связаны с наличием неиспользуемых функций в вашем коде.
Скажем, например, у вас есть журнал отладки, а затем вы даете большинству своих объектов функцию ToString(), которая используется в журналах отладки.
В сборке выпуска это ведение журнала отладки не используется. Стоит ли тогда удалять исходный код этих функций ToString()? (например, через макрос?)
Или они просто немного увеличивают размер исполняемого файла и в остальном не влияют на производительность? например не влияет на скорость? Или компилятор или компоновщик, возможно, даже удаляет функции, если они не используются? Если компилятор или компоновщик не удалит код, что, если бы функции ToString() были определены встроенными? Предположительно, он попытается встроить код, и, поскольку функция никогда не вызывается, он исчезнет?
Я предполагаю, что каждая функция должна быть сохранена в статической библиотеке, но после компиляции в исполняемый файл наверняка многие вещи просто игнорируются компоновщиком?
В другом примечании, которое примерно похоже, если компилятор решит не встраивать встроенную функцию, так что встроенная функция определяется как функция в нескольких единицах компиляции, компоновщик отбрасывает лишние определения и связывает только одно из них в конце ?
Спасибо