禁用编译

sha*_*enk 3 c c++ g++ clang compiler-optimization

有没有办法指示g ++或clang不编译掉代码中没有使用的变量?我知道大多数编译器会编译出不影响最终输出的部分代码.出于调试原因,我想知道是否有办法禁用它?

Ale*_*ing 5

是.在gcc(也可能是clang)中你可以编译-O0.这将禁用所有优化.您也可以使用-Og,不应删除变量.此标志仅打开"调试器友好"优化.

  • 您应该将-Og与-g结合使用,以指示编译器保留调试符号. (4认同)