ホームページ > バックエンド開発 > C#.Net チュートリアル > C言語とはどのようなコンパイル言語ですか?

C言語とはどのようなコンパイル言語ですか?

王林
リリース: 2019-11-01 16:47:47
オリジナル
4539 人が閲覧しました

C言語とはどのようなコンパイル言語ですか?

#コンパイル モードとは何ですか?

コンパイルモードとは、プログラムコードやデータをメモリ上にどのように配置し、スタックを確保し、占有メモリサイズやアクセス方法を確認するかを指します。コンパイラは、事前に選択されたメモリ モードに従ってプログラムをコンパイルし、編成します。

C 言語には、Tiny、Small、Medium、Compact、Large ) および Giant モード (Huge) の 6 つのコンパイル モードが用意されています。ユーザーは独自のプログラムのサイズとニーズに応じて選択できます。

C 言語コンパイル モード - マイクロ モード (Tiny) - ポインタ付近

マイクロ モードでは、プログラム内のデータとコードは同じセクションに配置されます。つまり、64KB を超えません。マイクロ モードでは、コード セグメント、スタック セグメント、データ セグメントのセグメント アドレスはすべて同じです。つまり、CS=DS=SS=ES になります。

C 言語コンパイル モード - スモール モード (Small)

スモール モードでは、プログラム内のコードが 64KB のコード セグメントに配置され、データが配置されます。データセグメント内の 64KB にあります。スモール モードでは、スタック セグメント、追加データ セグメント、およびデータ セグメントがすべて同じアドレスを指します。これらは 1 つに結合されます (つまり、DS=SS=ES)。ポインタはすべて近くにあります。一般に、プログラムはスモール モードでコンパイルされます。 。

C 言語コンパイル モード - 中モード (中)

中モードでは、すべてのデータが 64KB データ セグメントに配置されるため、データ セグメントで Near が使用されます。コードの量は 64KB を超える可能性がある (1MB まで許容される) ため、異なるコード セグメント (遠いリモート ポインター) で使用できます。異なるソース ファイルのコード モジュールは、異なるコード セクションに配置されます。

C 言語コンパイル モード - コンパクト モード (Compact)

コンパクト モードでは、データ量が 64KB を超える場合、複数のデータ セグメントに配置できます。データセグメント 内部のポインタは (far) です。コード量は 64KB を超えず、1 セグメント内にあるため、コード セグメント内のポインタは近くにあります。ただし、このモードでも静的データは 64KB を超えることができず、ヒープは Far ポインターを使用してアクセスします。コード、静的データ、スタック、ヒープにはそれぞれ独自のセグメントがあります。遠い杭だけがあり、近くの杭はありません。

C 言語コンパイル モード - ラージ モード (ラージ)

ラージ モードでは、コードとデータの両方で far ポインターが使用され、両方とも 1MB に達する可能性があります。静的データ、スタック、ヒープはコンパクト モードと同じで、コードはミディアム モードと同じです。静的データはコンパクト モードと同じままで、64KB を超えることはできません。

C 言語コンパイル モード - ヒュージ モード (ヒュージ)

ヒュージ モードでは、コード セグメントとデータ セグメントの両方で far ポインタが使用され、コードは次のように分散されます。異なるコード セグメント、データも異なるデータ セグメントに分散され、異なるソース プログラムから取得され、大きなスタックは 1 つだけです。また、静的データのサイズは 64KB を超えることができます。

推奨チュートリアル:

C 言語チュートリアル

以上がC言語とはどのようなコンパイル言語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート