我遇到了以下内容,我想知道它对我的cygwin / gnu环境有什么影响我应该使用除-o以外的东西来命名编译的输出吗?是否采用了一些新标准并且其他编译器是否遵守它?
删除-o的动机是什么?
DOS PROMPT>键入compile.bat
cl.exe -D YY_MAIN = 1 lex.yy.c libfl.obj -o foobar
DOS PROMPT>编译
cl.exe -D YY_MAIN=1 lex.yy.c libfl.obj -o foobar Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. lex.yy.c Microsoft (R) Incremental Linker Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. /out:lex.yy.exe /out:foobar.exe lex.yy.obj libfl.obj
cl:命令行警告D9035:已弃用选项“o”,将来的版本中将删除该选项
更新:正如下面的答案要求他们是否试图在Windows和UNIX之间故意制造更多的裂痕?我希望不是.我希望我错过了所有编译器采用的新约定.