動的言語は、変数に割り当てるメモリ量をどのように決定しますか?例えば、 。どのようにコンパイラは変数= 5を変数= "xxx"に変更しますか?いつハードウェアスタックを使用し、いつメモリヒープを使用しますか?動的言語と変数割り当て
1
A
答えて
4
コンパイラは、各変数にポインタを保持するのに十分なメモリと、言語ランタイムに必要なメタデータを割り当てます。しかし、それぞれオブジェクトのためにどれだけのメモリが割り当てられているかを尋ねることを意味すると思います。その場合の答えは、オブジェクトのタイプに依存するということです。変数が別のオブジェクトに割り当てられると、その変数に関連付けられたポインターは、そのポインターの内容を変更します。
1
答えはもちろん、ホストされた動的言語と低レベルの実装言語の両方で言語によって異なります。 Perlに当てはまるものは必ずしもPythonには当てはまりませんし、Tclに当てはまるものはJavaやLISPにも当てはまるわけではありません。また、動的言語として数えられますか?
Perlには、変数の値のバージョンごとに異なるストレージを含むSV(スカラー変数)という名前のCレベル構造があります。これらはしばしばヒープベースです。文字列の記憶域は常にヒープベースになりますが、文字列に変換されたことのない純粋な数値は、厳密にスタックにあるSV内にある可能性があります。 Perlでは、これらのものは参照カウントされています(そして、致命的なもの、または不滅のもの、そしてあらゆる種類の興味深いもの)。より複雑なタイプ(AV、HV、RVなど)はSVに基づいています。
関連する問題
- 1. 動的言語でのprintfメモリ割り当て
- 2. プログラミング言語間の動的メモリ割り当て
- 3. 静的割り当てと動的割り当てとの比較自動割り当て
- 4. R言語での割り当て
- 5. 変数に割り当てられたJavaの動的変数
- 6. 動的定数割り当てエラー
- 7. 動的割り当て
- 8. 動的割り当てstucks
- 9. 静的変数を非静的変数に割り当てる
- 10. 動的オブジェクト割り当てとアクセス権
- 11. 動的割り当てとアレイ
- 12. PostgreSQLの変数への値の宣言と割り当て
- 13. 変数宣言(Dim)と1つのステートメントでの割り当て
- 14. C++の動的割り当てメモリ内での動的メモリ割り当て
- 15. カーソルに変数を動的に割り当てる -
- 16. C++ - 動的に割り当てられた変数のスコープ
- 17. マスタ/スレーブ変数を動的に割り当てます。
- 18. Pythonのforループに変数を動的に割り当てる
- 19. Marklogic - Xqueryで動的変数を割り当てる方法
- 20. Bashの動的変数名に割り当て
- 21. 動的変数にデータフレームを割り当てる方法
- 22. javascriptの動的リスト変数にデータを割り当てる
- 23. 変数名を動的に割り当てるJavaScript
- 24. 動的に割り当てられた変数サイズ
- 25. 自動的に変数を割り当てるクラス
- 26. バインドと変数の明示的割り当てとの比較
- 27. ツリーアルゴリズムにおけるメモリの動的割り当てと再割り当て
- 28. メソッド/メソッドを変数として動的に割り当てます。
- 29. 変数割り当て
- 30. 割り当て変数タグジャンゴ