可以启动死码删除的功能，而有些则是可以选择不同等级的死码删除，比较低阶等级的死码删除仅会移除不会被执行到的指令，而较高阶的可能不会保留无用变数的空间，其他高阶等级的做法可能会判断哪些指令及函数没有任何用途，并且删除他们。死码删除最普遍的做法，是透过预处理器来判断程式码是否需要被编译，如下列这个范例：由于0将永远被视为False，所以if判断式内的程式将永远不会被执行，死码删除将会把它移除，这个技术在调试上相当常见，我们可以透过一个数值来决定程式段是否该被编译，使用死码删除的最佳化过程，将会使用预处理