ランタイム(プログラムライフサイクルフェーズ)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

コンピュータサイエンスではランタイムランタイム、または実行時間は、コンピュータプログラムライフサイクル最終段階であり、コードはコンピュータの中央処理装置(CPU)でマシンコードとして実行されます。つまり、「ランタイム」はプログラムの実行フェーズです。

ランタイムエラーは、プログラムの実行後または実行中(実行状態)に検出されますが、コンパイル時エラーは、プログラムが実行される前にコンパイラによって検出されます。タイプチェックレジスタ割り当てコード生成、およびコード最適化は、通常、コンパイル時に実行されますが、特定の言語およびコンパイラによっては、実行時に実行される場合があります。他の多くのランタイムエラーが存在し、ゼロ除算エラー、ドメインエラー、範囲外の配列添え字エラー、算術アンダーフローなど、さまざまなプログラミング言語によって異なる方法で処理されます。エラー、いくつかのタイプのアンダーフローおよびオーバーフローエラー、および一般にソフトウェアのバグと見なされる他の多くのランタイムエラーは、特定のコンピューター言語によってキャッチおよび処理される場合とされない場合があります。

実装の詳細

プログラムを実行する場合、ローダーは最初に必要なメモリセットアップを実行し、プログラムを必要なダイナミックリンク ライブラリにリンクします。次に、プログラムのエントリポイントから実行を開始します。場合によっては、言語または実装では、代わりに言語ランタイムによってこれらのタスクが実行されますが、これは一般的なコンシューマーオペレーティングシステムの主流言語では珍しいことです。

一部のプログラムのデバッグは、実行時にのみ実行できます(または、実行するとより効率的または正確になります)。論理エラー配列境界チェックは例です。このため、高度なコンパイル時チェックとプレリリーステストにもかかわらず、プログラムが実際のデータを使用して実稼働環境でテストされるまで、プログラミングのバグの一部は発見されません。この場合、エンドユーザーに「ランタイムエラー」メッセージが表示される場合があります。

アプリケーションエラー(例外)

例外処理は、ランタイムエラーを処理するように設計された言語機能の1つであり、完全に予期しない状況だけでなく、予測可能なエラーや異常な結果を、それがない言語に必要なインラインエラーチェックの量なしでキャッチする構造化された方法を提供します。ランタイムエンジンの最近の進歩により、自動例外処理が可能になり、特別なソフトウェア製品をランタイムエンジンに接続することで、対象となるすべての例外の「ルート原因」デバッグ情報を提供し、ソースコードとは無関係に実装されます。

も参照してください

参照