Я наткнулся на следующее, и мне интересно, какое влияние это окажет на мою среду cygwin / gnu, если я буду использовать что-то, кроме -o, для именования вывода из компиляции? Был ли принят какой-то новый стандарт и придерживаются ли его другие компиляторы?
Какая мотивация для удаления -o?
DOS PROMPT> введите compile.bat
cl.exe -D YY_MAIN = 1 lex.yy.c libfl.obj -o foobar
DOS PROMPT> compile
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? Надеюсь нет. Я надеюсь, что мне не хватает какой-то новой конвенции, принятой всеми компиляторами.