0
我計劃實施動態鏈接到我的smalltalk方言。問題是讓消息傳遞與動態鏈接一起工作。動態鏈接smalltalk對象
消息傳遞本身就像這樣簡單:帶有選擇器的消息被髮送到對象,對象從它的協議中選擇與選擇器匹配的方法,然後處理與消息捆綁在一起的數據並返回結果。
在基於圖像的實現中,可以以非常直接的方式實現消息傳遞 - 您的消息選擇器可以只是從全局符號表中翻譯的整數,您的協議可以只是具有整數和地址的哈希表。假設它全部用全局符號表編譯成一個大圖像。
在動態鏈接中,您不能假設指向正確選擇器的符號表。你可以通過使用字符串作爲選擇器來解決問題,但是你會使語言變慢。
有一種方法,它涉及到複製協議和選擇器表以便正確重定位它們的過程。但這聽起來像很多工作。
有沒有更好的方法來解決這個問題?另外,動態鏈接是否值得呢?我怎樣才能實現選擇器和協議的重定位?