我正在做C中的Forth解釋器。我無法決定如何更好地實現Forth字典。C中的函數指針表C
struct Word {
struct Word* next;
char* name;
int* opcode;
// int arg_count;
}
struct Dictionary {
struct Word words;
int size;
}
opcode
是一個代碼序列 - 字的功能。因此,每個操作碼[i]對應於某些功能。我想它應該是一些表格,其元素爲[操作碼< - >功能指針]。但是如何實現呢?
我們不知道函數的大小。我們不能使用void *(或者我們可以?),因爲我們必須以某種方式使opcode執行該函數。
我該怎麼辦?
這並不完全清楚。一個將整數映射到函數指針的表是完全可能的。這裏有什麼具體問題? –
@OliCharlesworth,函數的簽名不同 – greensher
「struct Word words;」 (與「struct Word * words」相反)通常不是好主意。 –