メモリ構造– tag –
-
メモリ領域
メモリレイアウトまとめ|メモリレイアウトからポインタまでtext・data・bss・heap・stackを体系的に理解する
メモリ構造をまとめて理解したい 先輩、メモリ関連の勉強をしたいのですがどこから勉強すればよいか分かりません! そうだね。このページではメモリ構造の全体像と、メモリ構造解説シリーズの紹介をするよ。 C言語を学んでいると、 text領域とは何か data... -
メモリ領域
static変数とは?C言語のメモリ配置とグローバル変数との違いをわかりやすく解説
static変数とは? C言語の static変数 とは、静的記憶域に配置され、プログラム終了まで存在し続ける変数です。 通常のローカル変数は関数を抜けると消えてしまいますが、static変数は 関数が終わっても値が保持され続けます。 #include <stdio.h> v... -
メモリ領域
スタック領域とは?C言語のStackの仕組みとヒープとの違いを解説
C言語のプログラムでは、メモリは複数の領域に分かれて管理されています。 例えば次のような領域があります。 text領域:プログラムのコード data領域:初期値ありのグローバル変数 bss領域:初期値なしのグローバル変数 heap領域:mallocで使用する動的メ... -
メモリ領域
スタートアップコード(Startup Code)とは?main()前の.data/.bss初期化処理を組み込み実務目線で解説
はじめに main()って電源入れたらすぐ動くんですよね? いや、それが違うんだよ。その前に“超重要な処理”があるんだ マイコンの電源を入れても、いきなり C言語の main() が実行されるわけではありません。 ARMマイコンでは、まず Reset_Handler と呼ばれ... -
メモリ領域
C言語 データ領域(.data)とBSS領域(.bss)の違いとは?初期値・ROM/RAM・起動処理まで実務目線で解説
データ領域(.data)とBSS領域(.bss)の概要 まず結論です。 ✔ .data → 初期値あり(ROMに保存 → 起動時にRAMへコピー)✔ .bss → 初期値なし(起動時にゼロクリア) この「初期値の有無」が、すべての違いの本質です。 そしてそれが「ROM使用量」に直結します... -
メモリ領域
【図解】C言語のメモリ領域を徹底解説|text/data/bss/heap/stackと設計の関係
C言語のメモリ全体像 一般的なプロセスのメモリ構造は次のようになります。 組み込み開発やC言語において、メモリ構造の理解は“必須スキル”です。 ただし多くの場合、 グローバル変数はdata? 初期化なしはbss? mallocはheap? という「用語暗記」で止ま... -
メモリ領域
組み込み開発でmallocが嫌われる理由 ― メモリ構造とリアルタイム性から考える設計判断 ―
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら PC向けの開発では、malloc は当たり前の存在です。必要なときに必要な分だけメモリを確保できる、非常に便利な仕組みです。 しかし、組み...
12