コンピューティングでは、エントリポイントとは何ですか?
コンピューターでは、エントリポイントは、コードが開始されるプログラム、モジュール、または関数のポイントです。具体的には、メモリアドレスが開始される場所。プログラムでは、コードの最初のモジュール、または実行されるコードの最初の行でさえあります。基本やCOBOLなどの線形のプログラムでは、エントリポイントは文字通りコードの最初の行です。次に、何らかのジャンプまたはコールが実行されるまで、コードは順番に続きます。 Cプログラミング言語のすべてのバリアントなどのモジュラープログラミングでは、エントリポイントは開始モジュールです。 Cでは、これは「main()」関数です。
古いプログラムとオペレーティングシステムでは、プログラムには、実行されていた関数またはシステムに応じて、複数のエントリポイントがある場合があります。 Windows®やUnixを含むほとんどの最新のオペレーティングシステムでは、プログラムは単一のエントリポイントをサポートする言語で記述されています。現代のコンピューティングの初期の頃でさえ、プログラムへの単一のエントリポイントを持っている間、Basicなどの言語、プログラムが1つのモジュールから別のモジュールのエントリポイントに「ジャンプ」する可能性がある「ロングジャンプ」をサポートする場合があります。これが奨励されたのは、「スパゲッティコード」と呼ばれるもので、維持または変更が困難でした。
エントリポイントは、プログラムのエントリポイントを参照することさえありませんが、他のプログラムで共有される一種のミニプログラムのような動的リンクライブラリ(DLL)のエントリポイントになる可能性があります。キーボード入力を制御するDLLは1つの例です。プログラム、モジュール、または関数の種類に関係なく、エントリポイントは、そのコードの処理存在が存在する単一のポイントです。言語を理解したり、プログラムを修正したりサポートしたりするための鍵は、その特定のプログラムまたはオペレーティングシステムでエントリポイントがどのように識別されるかを理解することにあります。
エントリポイントの概念は、コンピュータープログラミングが完全に線形のメトーを残したときに実装されました初期のDS。当時、コンピュータープログラムはコードの最初の行で始まり、プロセスの終わりまで1行に1行を進めました。まもなく、ループ、条件付き分岐、再帰などのプログラミングコンストラクトは、機能的に効率的なプログラムを作成しましたが、処理はコード内の至る所で跳ね返りました。これらのプログラムの性質は、処理が実際に開始されるポイントの前に、コードの多くの行またはセクションがある可能性があることを意味します。このため、エントリポイントが作成され、識別されました。
cでは、これがmain()関数になりました。この機能がコードのどこに存在するかに関係なく、それが処理の開始からです。他の言語では、エントリポイントは、それらがどこにいるかほどではなく、そうでない場所によって識別されます。プログラムの開始には、可変宣言とサブルーチンのセクションが含まれる場合があります。デフォルトでは、これらの領域または関数に従うコードの最初の行がエントリポイントになります。