Мне интересно, какие накладные расходы связаны с наличием неиспользуемых функций в вашем коде.
Скажем, например, у вас есть журнал отладки, а затем вы передаете большую часть своих объектов функция ToString(), которая используется в журналах отладки.
В выпускной сборке ведение журнала отладки не используется. Стоит ли тогда удалять исходный код этих функций ToString()? (например, с помощью макроса?)
Или они просто делают исполняемый файл немного больше и в остальном не влияют на производительность? например нет влияния скорости? Или компилятор или компоновщик может даже удалить функции, если они не используются? Если компилятор или компоновщик не удаляет код, что, если функции ToString() были определены в строке? Предположительно, он попытается встроить код, и, поскольку функция никогда не вызывается, она исчезнет?
Я предполагаю, что каждую функцию нужно сохранять в статической библиотеке, но после компиляции в исполняемый файл наверняка многие вещи просто игнорируются компоновщиком?
С другой стороны, это примерно то же самое, если компилятор решает не встраивать встроенный файл функция, так что встроенная функция определена как функция в нескольких модулях компиляции, будет ли компоновщик удалять лишние определения и связывать только одно из них в конце?
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/613 ... nused-code
Накладные расходы в неиспользуемом коде ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Возникают ли накладные расходы при загрузке сборок вручную во время выполнения?
Anonymous » » в форуме C# - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-