MASM 運算式與 C++ 運算式
MASM 運算式評估與 C++ 運算式評估之間的最顯著差異如下:
在MASM表達式中,任何符號的數值都是其記憶體位址。 在 C++ 運算式中,變數的數值是其實際值,而不是其位址。 數據結構沒有數值。 相反地,它們會被視為實際結構,您必須據以使用這些結構。 函式名稱或任何其他進入點的值是記憶體位址,並被視為函式指標。 如果您使用未對應至 C++ 資料類型的符號(例如未修改的模組名稱),則會發生語法錯誤。
MASM 運算式評估工具會將所有數位視為ULONG64值。 C++ 運算式評估工具會將數位轉換成ULONG64,並保留所有數據類型的類型資訊。
MASM 運算式評估工具可讓您搭配任何數位使用任何運算符。 如果您使用運算符與不正確的數據類型,C++ 運算式評估工具會產生錯誤。
在MASM運算式評估工具中,所有算術都會以字面方式執行。 在 C++ 運算式評估工具中,指標算術會正確調整,而且當不適當時不允許。
MASM 運算式可以使用兩個底線 ( __ ) 或兩個冒號 ( :: ) 來指出類別的成員。 C++ 運算式評估工具只會使用雙冒號語法。 調試程序 輸出 一律使用兩個冒號。
在MASM表達式中,您應該在最常見的緩存器以外的所有登錄之前新增 at sign (@)。 如果您省略此符號,緩存器名稱可能會解譯為十六進位數位或符號。 在 C++ 運算式中,所有快取器都需要此前置詞。
MASM 運算式可能包含來源行的參考。 這些參考會以嚴重口音表示( ` 。 您無法參考 C++ 運算式中的來源行號。