Я только что установил cygwin на новый компьютер с Windows, работающий под управлением Windows 7, и у меня получилось странное поведение при компиляции программы на c ++. Вот что я печатаю:
g++ test.gpp -o test
На других моих компьютерах с Windows это создает исполняемый файл test.exe, и это, конечно же, исполняемый файл. Но на этой установке файл теста создан. К моему удивлению, это не исполняемый файл, а скорее выглядит как файл отладки (в ascii printables). Если я вместо этого наберу:
g++ test.gpp -o test.exe
Тогда я получаю исполняемый файл test.exe. (1) почему во всех других моих реализациях я получаю исполняемый файл, но не с этой самой последней попыткой? (2) Почему меня это волнует? Ну, я также работаю над Linux-боксами и не привык набирать расширение ".exe". (Я ненавижу этот аспект не-linux файлов!) Я предполагаю, что существует какой-то одноразовый флаг, который я могу установить, чтобы сделать файл по умолчанию, создаваемый g ++, файлом .exe.
Проблема с этой проблемой в том, что никто из вас не сможет ее воспроизвести! (Я не могу на других моих машинах!)