ホームページ  >  記事  >  バックエンド開発  >  C言語はハードウェアを直接操作できるのでしょうか?

C言語はハードウェアを直接操作できるのでしょうか?

藏色散人
藏色散人オリジナル
2020-04-23 09:21:477951ブラウズ

C言語はハードウェアを直接操作できるのでしょうか?

# C言語はハードウェアを直接操作できますか?

できません。

まず、C言語はハードウェアを直接操作することができません。本質的には、アセンブリ言語ですらありません。ハードウェアを直接操作できるのは機械語だけです。

第二に、C 言語はハードウェアを動作させるために一連のコンパイルと変換を行う必要があります。最終的には0101という機械的なコードになりますが、現時点では全く理解できるC言語ではありません。

GCC コンパイラを例に取ると、これは 4 つのステップに分けることができます。

最初のステップは、文法チェックやその他の作業を含む前処理です。 gcc -P abc.c 2 番目のステップは、ソース プログラムからアセンブリ言語コードを生成することです。 gcc -S abc.c は、アセンブリ コードを含む abc.s ファイルを生成します。 3 番目のステップでは、コンパイラがオブジェクト コードを生成し、1 つのソース ファイルから 1 つのオブジェクト コードが生成されます。 gcc -c abc.c は abc.o を生成します。4 番目のステップは、コネクタがターゲット コードから実行可能ファイルを生成することです。 gcc abc.o

最後に、比較的言えば、C 言語は高級言語の中で最も物理レベルに近い言語です。高級言語内の低級言語とも呼ばれます。それは多くの点でハードウェアに非常に近いからです。代表的な例はポインタで、物理アドレスを通じてメモリを直接操作する変数です。

以上がC言語はハードウェアを直接操作できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。