1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rust】3種類のメモリ空間

Last updated at Posted at 2021-06-10

Tour of Rustを進めていての備忘録。
Rustでは、データを保持するためメモリ空間をに3種類持つ。

##1. データメモリ
固定長もしくは スタティック (例: プログラムのライフサイクルで常に存在するもの)なデータ。
プログラム内の文字列(例: ‘Hello World’)のキャラクタは読み取りにしか使えないため、この領域に入る。 コンパイラはこうしたデータに対してチューニングをしており、メモリ上の位置はすでに知られていてかつ固定であるため、非常に速く使うことができる。

##2. スタックメモリ
関数内で宣言された変数。
関数が呼び出されている間は、メモリ上の位置は変更されることがないため、コンパイラからするとチューニングができるので、スタックメモリも非常に速くデータにアクセスできる。

##3. ヒープメモリ
プログラムの実行時に作られるデータ。
このメモリにあるデータは追加、移動、削除、サイズの調節などの操作が許されている。
動的であるため、遅いと思われがちだが、これによりメモリの使い方に柔軟性を生み出すことができる。

  • アロケーション(allocation) = データをヒープメモリに入れること
  • ディアロケーション(deallocation) = データをヒープメモリから削除すること
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?