2009-08-02 5 views
23

La plupart des compilateurs UNIX C lient les exécutables par défaut à un fichier appelé "a.out". Pourquoi? Est-ce une norme écrite ou simplement un comportement standard de facto? Que casserait si ces compilateurs produisaient juste un message d'erreur (ou utilisent un nom par défaut différent) au lieu de produire "a.out"? A.out est le nom d'un format de fichier exécutable UNIX.Pourquoi certains compilateurs utilisent-ils "a.out" comme nom par défaut pour les exécutables?

+0

Vous avez une meilleure idée? :) –

Répondre

35

a.out signifie sortie de l'assembleur.
Je pense que cela justifie pourquoi la plupart des compilateurs ont ce nom par défaut. Plus d'infos here.

+2

a.out est aussi le nom du format exécutable. Fait cependant un bon nom de fichier 8.3 pratique. –

+2

'a.out' n'a pas été le format exécutable par défaut depuis plus d'une décennie. Ces jours 'ELF' (Executable Linkable Format) est utilisé. –

5

(ELF en est un autre)

Le compilateur produit ce nom (par tradition) si vous ne donnez pas explicitement un nom à votre exécutable.

Que se briser si ces compilateurs serait tout simplement erreur à la place de la production « a.out »?

Rien ne se casserait, mais que voulez-vous dire par «erreur»? Voulez-vous dire, refuser de compiler, sauf si un nom d'exécutable est fourni à l'éditeur de liens?

Questions connexes