私は、C と同様の概念を持つ言語を、対応するスタックベースの VM によって解釈されるバイト コードにコンパイルするコンパイラを作成しています。構造体をコンパイルする方法について、私はその瞬間に立ち往生しています。
struct my_struct_s {
int anInt;
char* aString;
} my_struct_t;
/* ... */
my_struct_t my_struct_var;
my_struct_var をバイトコードのどこに配置するのが最適ですか? Cコンパイラはそのようなものをどのように処理しますか? 後で、VM はこの struct var を表すために必要なメモリも処理する必要があります。
この種の変数をどこに配置しますか? スタックに?このvarのメモリアドレスをスタックに置くだけですか?
ありがとう、ジョナス