ランタイム
ランタイム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/18 09:52 UTC 版)
ランタイム(runtime)
- ランタイムミュージックエンタテインメント - 日本の芸能事務所
- 計算機では、実行時のことを指す。 - ランタイム (プログラムライフサイクルフェーズ)
- ランタイムライブラリ - プログラミング言語の処理系により実行時に取り込むライブラリ群。
- ランタイムエラー - 実行時に発生するエラー。
関連項目
ランタイム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:07 UTC 版)
「JavaとC++の比較」の記事における「ランタイム」の解説
C++は通常、機械語に直接コンパイルされてから、オペレーティングシステムおよびCPUによって直接実行される。Javaは通常バイトコードにコンパイルされてからJava仮想マシン (JVM) がインタプリタでバイトコードを解釈するか、またはJITがバイトコードをマシンコードにコンパイルしつつ実行される。理論上、動的再コンパイルはどの言語でも使うことができる(しかしJavaのほうが向いている)が、現在のところ、どちらの言語でも動的に再コンパイルされることは稀である。 強制によらない表現力のため、C++の多くのエラー要因(範囲外チェックされない配列アクセス、未使用ポインタ、型の不一致など)はコンパイル時または実行時の不適当なオーバーヘッド無しに信頼できるチェックを行えない。このため、低レベルバッファオーバフロー、ページフォールト、セグメンテーションフォルトを導いてしまう。標準やサードパーティーのライブラリがそのようなエラーを避けることを助ける高水準な(動的配列、リスト、マップのような)抽象概念を提供している。一方、Javaではそのようなエラーは単純に起こすことも、JVMに検出されることも無く、例外によってアプリケーションに報告される。 Javaは、配列アクセスの境界チェックを行い、そして領域外にアクセスすることが判明したときに明確な振る舞い(例外の送出)を要求する。これにより、一般に実行が低速になる代わりに不安定さの源が除去される。ただし、コンパイラ解析で不必要な境界チェックが消去される場合もある。C++はネイティブな配列の配列外アクセスの振る舞いを要求しないため、通常は境界チェックしないのが一般的である。ただしstd::vectorのようなC++標準ライブラリでは、at()メンバ関数の使用という形で、境界チェック付きアクセスを任意に選択できる。要約すると、Javaの配列は「常に安全で、厳しく強いられる、可能な限り高速」だがC++のネイティブ配列は「常に高速、完全に強制されない、潜在的に危険」ということである。
※この「ランタイム」の解説は、「JavaとC++の比較」の解説の一部です。
「ランタイム」を含む「JavaとC++の比較」の記事については、「JavaとC++の比較」の概要を参照ください。
ランタイム
出典:『Wiktionary』 (2021/08/14 07:54 UTC 版)
語源
名詞
ランタイム
固有名詞の分類
- ランタイムのページへのリンク