[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/30 03:13 / Filesize : 322 KB / Number-of Response : 1026
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part129



983 名前:デフォルトの名無しさん (ワッチョイ bf3c-agmj) [2017/03/30(木) 02:32:10.51 ID:sHIKu4vn0.net]
>>14
プログラムのローダーがやるんだろう。
www.ertl.jp/~takayuki/readings/info/no02.html
https://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%BC%E3%83%80

アセンブラプログラミングでよく使う
.BSSという擬似命令は
データセグメントのうち、0で初期化されるものをいう。
https://ja.wikipedia.org/wiki/.bss

非0の場合は実行ファイルに初期化内容が書かれる。

セグメントの情報は実行ファイルに
WindowsだったらPE形式(つまりexe)にセクションとして書かれている。
0初期化領域は、実体の記述はなくサイズだけ書いてあることもある。

コンパイラやリンカによって、セクションの名前は変わるけれども
コードセグメント → .text
データセグメント → .data
読専データ → .rdata
リソース → .rsrc
こういったセクション名を付けるのが慣習となっている。
.bssというセクション名を持ってるPEファイルも結構あるっぽい。

OSがない原始的なコンピュータの場合は、読み取り専用はROMに置くまでだが、0も非0もRAMに置くことになる。
最近のマイコンなら、実行ファイル内に、0を記述しておくか、非0を記述しておくかということで済むはず。なんらかのハードがメモリ空間へロードさせる。
30年位前だったらROMがメモリ配線に直結されるし、容量的に初期値を持ったRAMということ自体がタブーだろうから、コード内に初期値や0初期化の処理を埋め込むことになる。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<322KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef