- Удаление мертвого кода
-
В теории компиляторов удалением мертвого кода называется оптимизация, удаляющая бесполезные операции, то есть операции, результат которых нигде не используется, и операции, которые в силу различных условий никогда не будут выполнены.
Рассмотрим следующий код на языке Си:
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
вообще не будет нигде использоваться, и может быть полностью удалена из программы.Мёртвый код и ошибки
Очень часто мёртвый код возникает вследствие ошибок в программе, поэтому многие компиляторы выдают в таких случаях предупреждение.
Wikimedia Foundation. 2010.