我正在編寫一個編譯器,它將與C具有相似概念的語言編譯爲字節碼,然後應該由相應的基於堆棧的VM進行解釋。當我談到如何編譯結構時,我就陷入了困境,例如如何處理字節碼和基於堆棧的虛擬機中的結構變量?
struct my_struct_s {
int anInt;
char* aString;
} my_struct_t;
/* ... */
my_struct_t my_struct_var;
哪裏最好把my_struct_var放在字節碼中? C編譯器如何處理這些東西?稍後,VM還必須處理表示此結構變量所需的內存,因爲它應該是可寫的和可重用的。
你會把這種變量放在哪裏?在堆棧上?只要把這個var的內存地址放到堆棧上?
感謝, 喬納斯