私は TOC とコンパイラの設計について十分な時間をかけて勉強しましたが、まだ完了していませんが、概念には満足しています。一方で、私はアセンブリと機械語の知識が非常に浅く、2 つの側面 (コードの HLL と LLL 表現) を結び付けたいという欲求/必要性を常に持っています。パフォーマンスと最適化の議論。
C++ は静的に型付けされた言語です。
私の質問は次のとおりです:コードのステートメントで式として記述された変数は、これらすべての変数 (および識別子を持つ他のエンティティ) が実行時に仮想メモリの位置にアドレス指定する単なる命令になりますか (静的およびグローバルの場合) およびローカル変数のスタックアドレスに関連するアドレス指定?
つまり、セマンティックおよびシンタックスの検証を含むコンパイルが成功した後、実行時にデータをターゲット メモリ バイトの保証されたエンティティとして扱い、識別子やチェックを考えずに、シンボル テーブルが不要になるのは賢明ではないでしょうか?
私の質問が学習努力の不足によるものであると思われる場合 (そうでないことを願っています)、そのことをお知らせください。もしそうなら、正直なところ、私は最近 C++ に集中していて、まだ低レベル言語の十分な知識を得る機会がありませんでした.