ほとんどのUNIX Cコンパイラは、実行ファイルをデフォルトで "a.out"というファイルにリンクします。どうして?これは文書化された標準ですか、それとも事実上の標準的な動作ですか?これらのコンパイラが "a.out"を生成するのではなく、単にエラーメッセージを出す(または別のデフォルト名を使用する)場合、何が壊れますか?一部のコンパイラでは、実行ファイルのデフォルト名として "a.out"が使用されるのはなぜですか?
23
A
答えて
35
a.outはアセンブラ出力を表します。
私は、ほとんどのコンパイラがこの名前をデフォルトとして持つ理由を正当化すると思います。 詳細情報here。
+2
a.outも実行形式の名前です。しかし便利な8.3ファイル名にもなります。 –
+2
'a.out'は10年以上にわたってデフォルトの実行形式ではありません。最近はELF(Executable Linkable Format)が使われています。 –
5
A.outは実際にはUNIXの実行可能ファイル形式の名前です。 (ELFは別です)
実行ファイルに明示的に名前を付けないと、コンパイラはその名前を(伝統によって)作成します。
これらのコンパイラ は単に「のa.out」を生成 をアウトエラーの代わりになる場合は何を壊すのでしょうか?
何も壊れませんでしたが、「エラー出力」とはどういう意味ですか?実行可能な名前がリンカーに提供されていない限り、コンパイルを拒否しますか?
関連する問題
- 1. 一部のサーバーテクノロジーで、デフォルトでファイルレスページ拡張機能が使用されないのはなぜですか?
- 2. C++ファイルをコンパイルすると、ファイル名が "a.out"になるのはなぜですか?
- 3. 一部のアップロードプラグインでFlashが使用されるのはなぜですか?
- 4. Javascriptファイルが実行されないのはなぜですか?
- 5. ループの後でコードの一部の行が実行されないのはなぜですか?
- 6. 一般的なCコンパイラでは、出力にソースファイル名が含まれているのはなぜですか?
- 7. なぜbash配列の一部がコマンドとして実行されるのですか?
- 8. $記号を変数名の一部として使用できないのはなぜですか?
- 9. 外部ファイルからロードされたコードの一部の実行がDEPによって停止されないのはなぜですか?
- 10. laravel 5コントローラメソッドで部分が実行されないのはなぜですか?
- 11. Javascriptモジュールパターンで自己実行する匿名関数が使用されるのはなぜですか?
- 12. Instagram APIを使用して一部のコメントが表示されないのはなぜですか?
- 13. invokeLaterがメインスレッドで実行されるのはなぜですか?
- 14. Rails:デフォルトのアプリケーションレイアウトが使用されないのはなぜですか?
- 15. コンパイラが型変換を実行しないのはなぜですか?
- 16. このPythonコードの一部が実行されないのはなぜですか?
- 17. 管理者として実行したときにバッチスクリプトが実行されないのはなぜですか?
- 18. メソッド内でコードの一部が実行されていない
- 19. base64 javascriptがiisで実行されていない、一部のブラウザでも、なぜですか?
- 20. Android端末からa.outファイルを実行することはできません
- 21. 条件が実行されると、単純なJavascriptが実行されないのはなぜですか?
- 22. $ .namespace()がコアjQuery実装の一部ではないのはなぜですか?
- 23. ウィザードの一部としてDetailsView更新をキャンセルすると、フォームがクリアされるのはなぜですか?
- 24. 一部のデバイスでウェブサイトがスパムドメインにリダイレクトされるのはなぜですか?
- 25. Mavenのコンパイラがバージョン1.5にデフォルト設定されているのはなぜですか?
- 26. 私のpython実行ファイルがデフォルトで/ usr/local/binになっていないのはなぜですか?
- 27. 古い名前の一部を使用している間に、古い名前の一部を使用しながら、Pythonでファイル名を変更します。
- 28. コンパイラで@synthesizeと@dynamicが表示されないのはなぜですか?
- 29. バッチスクリプトの実行時に、スペースを含むサブフォルダがファイルとして認識されるのはなぜですか?
- 30. paintComponentが2回実行されるのはなぜですか?
あなたは良いアイデアを持っていますか? :) –