2009-08-02 5 views
23

La mayoría de los compiladores de UNIX C vinculan ejecutables de forma predeterminada a un archivo llamado "a.out". ¿Por qué? ¿Es esto un estándar escrito o simplemente un comportamiento estándar de facto? ¿Qué se rompería si estos compiladores acabaran de producir un mensaje de error (o usan un nombre predeterminado diferente) en lugar de producir "a.out"?¿Por qué algunos compiladores usan "a.out" como nombre predeterminado para ejecutables?

+0

¿Tienes una mejor idea? :) –

Respuesta

35

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

+2

a.out es también el nombre del formato ejecutable. Sin embargo, también es un buen nombre de archivo 8.3. –

+2

'a.out' no ha sido el formato ejecutable predeterminado durante más de una década. En estos días se usa 'ELF' (formato enlazable ejecutable). –

5

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

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

Lo que se rompería si estos compiladores se acaba de error fuera en vez de producir "a.out"?

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

Cuestiones relacionadas