Ato*_*ble 0 c c++
#ifdef和#endif中的无法访问的代码在编译/链接时是否被删除或保留在可执行文件中,即使它无法访问?
#ifdef DEBUG // some debug operations #endif
编译后是否仍然保留调试操作代码而没有DEBUG标志,如果是,它是否会影响发布版本的性能?
编辑:
如果有一些模块仅在调试操作中使用,并且如果它被链接到程序中,这会影响性能吗?
Eri*_*rik 11
预处理器将完全删除这些代码 - 编译器甚至无法看到它.
您可以使用例如g++ -E查看预处理器的功能以及编译器可以看到的内容.
g++ -E
归档时间:
14 年,11 月 前
查看次数:
554 次
最近记录: