[過去ログ]
ゲームプログラミング相談室【Part5】 (970レス)
ゲームプログラミング相談室【Part5】 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
18: 8 [sage] 02/11/09 01:16 ID:??? >>16 vtbl が配置されるセクションと、クラステンプレートの static 変数が配置される セクションが違うと、何か問題がある? あと、今回の件に関しては STL のコン テナが利用する allocator の話なんで、仮想関数は出てこないはず。 そもそも .sdata, .sbss に関しては、こういうことだと理解してるんだが、勘違い があったら指摘して下さいな。 1. EE-core (っつーか MIPS) は 32bit 固定長命令を採用しており、アドレス 空間も 32bit ある。 2. したがって 1 命令で 32bit の任意のアドレスにアクセスすることはできない。 どうしてもアクセスしたければ a) まず 16bit をレジスタの上位アドレスに読み込み b) 次にオフセット付きメモリ参照命令を使って、メモリにアクセス と 2 命令使う。 3. それだと効率が悪いので、汎用レジスタの一つ ($gp) をグローバルポインタ として固定した値を入れて利用。static なデータは $gp から 16bit 相対で アクセスできる範囲に入れておく。(これが .sdata と .sbss) 当然 16bit 相対でアクセスできる範囲は限られるから、そこから溢れたデータ は効率悪くても 2 の方法でアクセスする必要がある。gcc は標準では 8byte 以下のデータは .sdata, .sbss セクションに、それ以上のデータは .data, .bss セクションに格納する。この閾値は、必要に応じて -G オプションで変更できる。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/18
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 952 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s