2009-10-05 37 views

答えて

21

"コンパイル時間"は、コンパイラがソースコードをILに変換するときに、コードをビルドするときです。

「実行時」は、コードが実行されたときです。ASP.NETの場合、ページ要求が行われたときです。 (個人的には、仮想マシンとも呼ばれる「CLR(Common Language Runtime)」と区別するために「実行時間」という用語が好きです)

値型と参照型は全く別の概念ですが、an articleあなたが役に立つと思うかもしれないものについて。

+0

ujon skeet –

+0

ありがとうございました。私は、コンパイル時に割り当てられた値型メモリと、ランタイムに割り当てられた参照型メモリの両方について言います。 –

+0

@Surya:いいえ、まったくそうではありません。それらは完全に別々の概念です。それらをまとめることはできません。 –

4

値型である変数、 店舗データ、 参照型の変数は データへの参照を格納しています。コンピュータサイエンスの

compile timeコンパイラ(「コンパイル時の操作」)によって実行される動作、それが正常にコンパイルされるソースコードによって満たされなければならないプログラミング言語の要件のいずれかを意味します( 「コンパイル時の要件」)、またはコンパイル時に推論できるプログラムのプロパティ。

コンパイル時に実行される操作には、通常、構文解析、さまざまな種類のセマンティック解析(たとえば、テンプレートの型チェックおよびインスタンス化)およびコード生成が含まれます。コンピュータプログラムは、実際に終了し始めてから、コンピュータに(「実行」)を実行している間にコンピュータサイエンス、修飾子run time、ランタイム、ランタイム、または実行時間で

は、期間を指します。また、プログラムの実行時間、その期間の持続時間を意味する場合もあります。

+1

値の種類は必ずしもスタックに格納されません。 http://pobox.com/~skeet/csharp/memory.htmlを参照してください。 –

+0

投稿を編集しました。 – rahul

+0

記事のための@Jonに感謝します。 – rahul

0

最初の質問については、Stack Overflow: Runtime vs Compile timeを参照してください。

2番目の質問については、Stack Overflow: What are the differences between value types and reference types in C#を参照してください。

どのように関係しているかについては、それらは独立した概念です。 変数の値を設定し、その値を読み取るのは実行時に行われます。その変数に値型または参照型があるかどうかを示します。

1

値型変数は、独自の値を直接格納できる変数を意味します。
参照型変数は、値を直接格納するのではなく、値の参照(つまり値のアドレス)を格納する変数を意味します。

関連する問題