c unix history compiler-construction

¿Por qué algunos compiladores usan "a.out" como nombre predeterminado para los ejecutables?



unix history (2)

La mayoría de los compiladores de UNIX C enlazan los ejecutables de manera predeterminada a un archivo llamado "a.out". ¿Por qué? ¿Es este un estándar escrito o solo un comportamiento estándar de facto? ¿Qué se rompería si estos compiladores simplemente produjeran un mensaje de error (o usaran un nombre predeterminado diferente) en lugar de producir "a.out"?


A.out es en realidad el nombre de un formato de archivo ejecutable UNIX. (ELF es otro)

El compilador produce ese nombre (por tradición) si no le da un nombre explícito a su ejecutable.

¿Qué se rompería si estos compiladores simplemente fallaran en lugar de producir "a.out"?

Nada se rompería, pero ¿qué quiere decir con ''error''? ¿Quiere decir, negarse a compilar a menos que se proporcione un nombre ejecutable al vinculador?


a.out representa la salida del ensamblador.
Creo que eso justifica por qué la mayoría de los compiladores tienen este nombre como predeterminado. Más información here .