rt,众所周知,比赛时,使用文件输出会影响我们的调试速度,LOJ 上给出了一个方法,是使用 -D 编译命令来定义一些宏,再搭配 #ifdef 来实现本地标准输出,交上去文件输出,但是我自己测试时,由于不明原因(目前感觉是写法有问题),不使用这种写法时可以可以正常编译,用上就不行,这里贴下我编译用的命令行示例:
g++ -o -Wall -Wextra -O2 1.cpp 1.o
可以通过编译并且结果符合预期,而在 -Wextra 和 -O2 之间加上 -DDB 之后,会编译出错,经过上网查询后,我改用了以下的写法:
g++ 1.cpp -o 1.o -Wall -Wextra -O2
就正常了,如此看来应该是我写法有问题,但既然这样的话,最开始时(不加 -D)为什么能编译通过呢?