こんばんは。
表題の通り、セクション領域に関して3点ほどご質問が御座います。
(1)グローバル変数は、
・0でない初期化を行う→.dataセクション
・0で初期化、または、初期化なし→.bssセクション
上記のようにメモリに配置されると思いますが、
上記をstatic宣言した場合でも結果は同じでしょうか?
(static宣言したグローバル変数)
(2)スタック、ヒープそれぞれが属するセクションは、それぞれ専用の
スタックセクション、ヒープセクションという名のセクションがあるという認識であっていますでしょうか?
(.dataでもなく、.bssでもなく、.textでもなく、.rodataでもなく。。。)
(3)プログラム中に宣言した変数名や、そのアドレスを使用して、属しているセクションを確認することが出来る方法はありますでしょうか?
どうかご教授をお願い致します。
No.2ベストアンサー
- 回答日時:
> (1)グローバル変数は、
> 上記をstatic宣言した場合でも結果は同じでしょうか?
> (static宣言したグローバル変数)
静的グローバル変数はシンボルの公開が抑止されるのみでその他に違いはない場合が多いかと。
> (2)スタック、ヒープそれぞれが属するセクションは、それぞれ専用の
> スタックセクション、ヒープセクションという名のセクションがあるという認識であっていますでしょうか?
ありません。
> (3)プログラム中に宣言した変数名や、そのアドレスを使用して、属しているセクションを確認することが出来る方法はありますでしょうか?
通常、各アドレスはまとまっている(例えば1000-2999はtextで3000-3999はbss,4000-5999はdataの様に)のでアドレスを調べれば解ります。
実行ファイルの形式上情報がありますので実行ファイルを解析すれば各セクションの位置や大きさはわかります。(詳しく知りたい場合にはunix系のsizeコマンドのソースを参照するのも良いかと)
elf形式やaout形式にマニュアルページやヘッダなども知る上で良い資料となりそうに思います。
※javaやC++には固有のセクションが追加されている場合があったり。
> (3)プログラム中に宣言した変数名や、そのアドレスを使用して、属しているセクションを確認することが出来る方法はありますでしょうか?
通常、アドレスを調べれば解ります。
予約された領域を除き残った領域を下位アドレスからヒープとして、上位アドレスからスタックとして動的割り当てしたりするのではないかな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- いじめ・人間関係 高校生の吹奏楽部です。 今度、他校と見せ合う演奏会とコンクールメンバーを決めるオーディションがありま 1 2022/04/23 14:56
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- IT・エンジニアリング ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:17
- CPU・メモリ・マザーボード 「コンピューターのメモリが不足しています」 5 2022/12/15 10:10
- CPU・メモリ・マザーボード 「コンピューターのメモリが不足しています」 3 2022/12/15 22:07
- その他(恋愛相談) 好みのタイプじゃなかったら時間のムダってセクション出来るかどうかって事ですか。 話が進んでリアルで会 2 2023/01/05 21:34
- 心理学 バイトには一瞥もくれず追い抜いていく正社員(゜-゜) 5 2023/06/29 22:47
- 哲学 後からずっと前を歩いているのが誰か分かっているのに通り過ぎざまノーアクションな正社員(゜_゜) 2 2023/06/29 10:30
- 哲学 後からずっと前を歩いているのが誰か分かっているのに通り過ぎざまノーアクションな正社員(゜_゜) 2 2023/06/29 10:30
- Word(ワード) Google ドキュメントで改ページを挿入する方法 1 2022/05/25 19:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
右ビットシフト
-
プログラミングについて。 1つ...
-
プログラミングの授業の課題です
-
Notepad++の関数リスト表示の変...
-
S-JIS → JIS コード変換するには
-
C言語をコンパイルするとコンピ...
-
こんなことてしますか??
-
[C言語]fputsとfprintfの違い
-
これなにがちがうんですか??
-
win10で、正確な待ち時間の作り方
-
システムエンジニアの適正について
-
ArduinoでMouse関数を使用して...
-
gccを行ってもexeファイルが生...
-
C言語 バッファについて。
-
整数1〜99を入力させ、それを英...
-
C言語初心者 ポインタについて...
-
あなたは、Excelはどうやって学...
-
LinuxカーネルのCFSで用いられ...
-
卒業研究でよく分からないとこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA XML の置換方法
-
DLL共用セクションの質問です
-
メモリのセクションに関して
-
Access2000レポート
-
translateの応用?文字の置換
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
昔Winnyってありましたけど、あ...
-
バッチファイルでテキストファ...
-
XML、XSLTの適応エラー(IEから...
-
UTF-8でエンコーディングとはど...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
XMLファイル内のデータ(値)を変...
-
xmlファイルが上手にHTMLに変換...
-
同じタグ名の項目取得
-
ExcelVBAで書き出した文字が化ける
-
XPathで途中に名前空間が設定さ...
-
あるノードリストに、特定の名...
おすすめ情報