私は、Linuxカーネル、FreeBSDカーネル、または他のいくつかのプロジェクトのようなさまざまなプロジェクトの.Sファイルを見てきました。これらのファイルは何をしますか、代わりに.Cファイルを持っていないのはなぜですか?.Sファイルとは何ですか?
答えて
ファイルは、アセンブリで書かれたソースコードファイルです。アセンブリーは非常に低レベルのプログラミングです。ファイルには、プロセッサへのアセンブリ命令が順番に格納され、通常、選択されたアーキテクチャに基づいてコンパイルされます。このようなファイルの例は、Linuxカーネルで特定のアーキテクチャーでよく見られます。アセンブリ言語の詳細についてなどのx86、SPARC、ARM、
:
彼らはassembler codeファイルです:アセンブリ言語は コンピュータ、マイクロプロセッサ、マイクロコントローラ、および各ステートメントは単一のマシン 語命令に対応した他のプログラマブル デバイス用の低水準言語である
。アセンブリ言語は、多くのハイレベルプログラミング 言語とは対照的に、特定の コンピュータアーキテクチャに固有のものであり、移植性が高い場合があります。
これらのファイルはCコードファイルと同じではありません。
.S
は、assembly language fileを示します。
代わりに.Cファイルを使用できないのはなぜですか?
生ソースコードので - それは、人間が入力またはアセンブラで生成することは、 - アセンブリではなく、C.
.S
.Sファイルはアセンブリ言語で書かれたコード、つまり低レベルのoですfプログラミング。 Linuxカーネルのソースコードでは、.Sは一般に、Linuxカーネルの起動時にカーネルが実行する開始ファイルです(例:--head.Sのように)。このとき、.Cファイルをコンパイルする準備が整っていないので、これを.Cではなく.Sで記述します。アーキテクチャに依存するレジスタで作業し、カーネルを起動する必要があります。
* .Sファイルはアセンブリファイルです。 .s &なぜ.cファイルではないのですか? キャッシュは、I/O命令などのアセンブラレベルの命令でしか実行できません。 カーネルは、さまざまなリソースの初期設定を処理するためのlibcライブラリの贅沢を持っていません。 アプリケーション実行中でもハードウェアリソースは、アセンブリ言語でコーディングされたI/Oルーチンを呼び出すシステムコールを呼び出します。
.Sファイルはアセンブリ言語ファイルです。それらは機械コードの一種です。それはプログラミングのレベルが低いです。 すべてのマシン依存コードはアセンブリ言語で書かれています。アセンブリ言語はプロセッサによって異なります。
- 1. ビジュアルモードで 's'とは何ですか?
- 2. perlではs -/- とs -/\ Z--は何を意味しますか?
- 3. S#arpアーキテクチャとは何ですか?
- 4. main(String ... s)とmain(String [] s)の違いは何ですか?
- 5. Cプロジェクトでの.sファイルの役割は何ですか?
- 6. [\ s \ S] *の違いは何ですか?と*。 Javaの正規表現では?
- 7. sprintfの類義語(newpath、 "%s%s"、...)は何ですか?
- 8. NSString * s = @ "string"とNSString * s = [[NSString alloc] initWithString:@ "string"]の違いは何ですか?
- 9. PHPのregexで[\ S \ s] *とは何を意味していますか?
- 10. TextViewの(s/g)etFreezesTextとは何ですか?
- 11. 正規表現/^\ s * $/doとは何ですか?
- 12. tclの "if {-s $ file-name}"と同等のコマンドは何ですか?
- 13. scanfの "%[^ \ n]"と "%s"の違いは何ですか?
- 14. Double.valueOf(String s)と新しいDouble(String s)を呼び出す違いは何ですか?
- 15. Linuxシステムでpgfree/sを高くすることの意義は何ですか?
- 16. Delphiプログラミングで "%s"、 "%d"などの意味は何ですか?
- 17. プレースホルダに#sを使用するプログラミング言語は何ですか?
- 18. 文字 `S`はnosetest出力で何を意味しますか
- 19. (?s)。*はApache mod_rewrite RewriteRuleで何を意味しますか?
- 20. ForthのS "..."の生涯は何ですか?
- 21. bash <<(curl -s https://rvm.io/install/rvm):それは何ですか?
- 22. JavaScriptで正規表現\ Sは何を意味しますか?
- 23. vi/vimのs、c、rコマンドの違いは何ですか?
- 24. この正規表現は何のために一致しますか? /([^ "^ \ s] +)\ s * |"([^ "] +)" \ s */g
- 25. MySQL.txtファイルとは何ですか?
- 26. openLDAPの.schemaファイルとは何ですか?
- 27. .iniファイルのコンテンツタイプとは何ですか?
- 28. .axfファイルとは何ですか?
- 29. AndroidのODEXファイルとは何ですか?
- 30. .tpl.htmlファイルとは何ですか? (angularjs)
このリンクを確認してください...そのARM BOOTシーケンス... – user1457958
http://www.linux-arm.org/LinuxBootLoader/MONItor! – user1457958