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?
Respuesta
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.
a.out es también el nombre del formato ejecutable. Sin embargo, también es un buen nombre de archivo 8.3. –
'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). –
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?
- 1. ¿Por qué algunos sitios web importantes usan HTML no válido?
- 2. ¿Por qué algunos proyectos .NET usan un prefijo N en su nombre?
- 3. Algunos ORM que usan PDO?
- 4. a.out reemplazado por formato de archivo ELF?
- 5. ¿Por qué hay cuatro compiladores mono C#?
- 6. ¿Por qué == verdadero para algunos objetos enteros?
- 7. Compiladores para Haskell
- 8. ¿Los compiladores de producción usan generadores de analizadores?
- 9. ¿Qué información sobre mí y mi sistema agregan los compiladores a los ejecutables?
- 10. maven muestra algunos módulos marcados como "sin nombre"
- 11. ¿Por qué algunos sitios usan jquery con $ j en lugar de solo $?
- 12. ¿Por qué algunos sitios web requieren "www"?
- 13. No es posible: este puntero como argumento predeterminado. ¿Por qué?
- 14. ¿Por qué MySQL usa latin1_swedish_ci como valor predeterminado?
- 15. ¿Por qué algunos proveedores de API requieren una clave API?
- 16. ¿Por qué C# no permite un typeof como parámetro predeterminado?
- 17. ¿Por qué las personas usan jQuery para operaciones básicas?
- 18. ¿Por qué se usan clases estáticas?
- 19. ¿Por qué se usan clases de amigos para la validación?
- 20. ¿Por qué las personas usan ATL para la programación COM?
- 21. ¿Por qué se usan campos ocultos?
- 22. enormes ejecutables debido a los símbolos de depuración, ¿por qué?
- 23. ¿Por qué getGeneratedKeys() devuelve "GENERATED_KEY" como nombre de columna?
- 24. ¿Por qué los scripts principales de Python ejecutables no se compilan en archivos pyc como módulos?
- 25. ejecutando a.out en otra computadora
- 26. ¿Qué es MATLAB? ¿Genera ejecutables?
- 27. pixel.gif, ¿por qué las personas lo usan?
- 28. ¿Por qué los navegadores usan tanta memoria?
- 29. ¿Qué protocolos se usan para PING?
- 30. ¿Por qué no se compila este código C# cuando se usan parámetros con nombre?
¿Tienes una mejor idea? :) –