Удаление мёртвого кода
Материал из Википедии — свободной энциклопедии
В теории компиляторов удалением мертвого кода называется оптимизация, удаляющая бесполезные операции, то есть операции, результат которых нигде не используется, и операции, которые в силу различных условий никогда не будут выполнены.
Рассмотрим следующий код на языке Си:
int foo() { int a = 24; int b = 25; int c; int d; d = a + b; c = a << 2; return c; b = 24; }
В данном примере мертвым кодом является операция сложения d = a + b
, так как переменная d
не используется в дальнейших вычислениях, и присваивание переменной b
значения 24, так как оно происходит после возврата из процедуры и никогда не будет выполнено.
Более того, после удаления указанных операций сложения и присваивания переменная b
вообще не будет нигде использоваться, и может быть полностью удалена из программы.
[править] Мёртвый код и ошибки
Очень часто мёртвый код возникает вследствие ошибок в программе, поэтому многие компиляторы выдают в таких случаях предупреждение.