C言語って… (278レス)
上
下
前
次
1-
新
253
: 2015/02/13(金)16:10
ID:fRUihGLp(1)
AA×
>>242
[
240
|320|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
253: [sage] 2015/02/13(金) 16:10:49.40 ID:fRUihGLp >>242って4年前のレスだぞ…。 一応答えておくと、メモリ上の変数をそのつどレジスタにコピーしてから演算するわけで、 殆どの場合、変数にはメモリが割り当てられている。その辺りの動作は基本的に コンパイラがうまくやってくれているので知ってさえいればいい。 (あらかじめ作成した)静的変数や(newで作成した)ヒープ上の変数は 必ずメモリ上の実体があるから&aは必ずそこを指す。 一方、(関数内などローカルスコープで一時確保した)動的変数は、コンパイラの最適化によっては 例外的にメモリ上の実体を持たず、レジスタだけということもあるはず。 だけどその関数内で&aという表記が用いられたら、コンパイラは最適化を見送って きちんとスタック上にメモリを割り当てることになる。スコープから出るまでは&aはそこを指す。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/253
って年前のレスだぞ 一応答えておくとメモリ上の変数をそのつどレジスタにコピーしてから演算するわけで 殆どの場合変数にはメモリが割り当てられているその辺りの動作は基本的に コンパイラがうまくやってくれているので知ってさえいればいい あらかじめ作成した静的変数やで作成したヒープ上の変数は 必ずメモリ上の実体があるからは必ずそこを指す 一方関数内などローカルスコープで一時確保した動的変数はコンパイラの最適化によっては 例外的にメモリ上の実体を持たずレジスタだけということもあるはず だけどその関数内でという表記が用いられたらコンパイラは最適化を見送って きちんとスタック上にメモリを割り当てることになるスコープから出るまでははそこを指す
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 25 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.040s