Ответ 1
a.out означает выход ассемблера.
Я думаю, это оправдывает, почему большинство компиляторов имеют это имя по умолчанию.
Подробнее здесь.
Большинство компиляторов UNIX C связывают исполняемые файлы по умолчанию с файлом с именем "a.out". Зачем? Является ли это письменным стандартом или просто де-факто стандартным поведением? Что бы сломалось, если бы эти компиляторы просто произвели сообщение об ошибке (или использовали другое имя по умолчанию) вместо создания "a.out"?
a.out означает выход ассемблера.
Я думаю, это оправдывает, почему большинство компиляторов имеют это имя по умолчанию.
Подробнее здесь.
A.out на самом деле является именем исполняемого файла UNIX. (ELF - другое)
Компилятор создает это имя (по традиции), если вы не указали свое исполняемое имя явно.
Что бы сломалось, если эти компиляторы будет просто ошибка, а не производя "a.out"?
Ничего не сломает, но что вы подразумеваете под "ошибкой"? Вы хотите отказаться от компиляции, если в компоновщик не добавлено исполняемое имя?