我正在编写一个编译器,它将一种与 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的内存地址放到栈上?
谢谢,乔纳斯