1
A
回答
2
所有的uintN
,varuintN
和varintN
都是WebAssembly的binary format獨有的概念。它們純粹是以緊湊的機器可讀格式對WebAssembly進行編碼。
i32
和朋友是language types。 semantics of WebAssembly有更好的描述這些類型以及它們如何相互作用。基本上,它們存在於語言級別,並形成WebAssembly程序中可用的基本數據類型。
他們在兩個完全不同的層次。這有點像C int
與用於C源代碼的ASCII編碼。一種純粹在語言層面,另一種純粹用於以穩定格式表示該語言(對於C:源.c
文件;對於WebAssembly:二進制.wasm
文件)。
「類型構造函數」只是對應於二進制格式中特定二進制值的類型:您需要一些二進制值,您可以使用它們對每種類型進行編碼。回到我的C源代碼示例,源字符大寫字母B將以ASCII碼編碼爲0x42
。那麼這裏WebAssembly i32
類型被編碼爲字節0x7f
。
相關問題
- 1. node.js Buffer和WebAssembly Memory有什麼區別?
- 2. Int32和UInt32有什麼區別?
- 3. Haskell中的類型和數據類型有什麼區別?
- 4. jquery中的數據和數據類型有什麼區別?
- 5. Rails數據類型有什麼區別?
- 6. sqlalchemy的數據類型中的Varchar和String有什麼區別?
- 7. Cassandra數據類型中的INT和VARINT有什麼區別?
- 8. `pandas.read_csv`中`str`和`object`數據類型有什麼區別?
- 9. MySQL中BLOB和TEXT數據類型有什麼區別?
- 10. postgresql中decimal和numeric數據類型有什麼區別
- 11. 基元類和基元數據類型有什麼區別?
- 12. C++中的Uint32和unsigned int有什麼區別?
- 13. 創建結構的「數據」和「類型」有什麼區別?
- 14. 「數據」和「類型」關鍵字有什麼區別?
- 15. MySQL BOOL和BOOLEAN列數據類型有什麼區別?
- 16. Cython中numpy「類型標識符」和「類型」有什麼區別?
- 17. 泛型類型和泛型類型定義有什麼區別?
- 18. Haskell中的類型構造函數和java泛型類型有什麼區別?
- 19. 「流類型」套接字和「數據報」套接字類型有什麼區別?
- 20. MVC模型,數據和數據庫有什麼區別?
- 21. 數據模型和數據結構有什麼區別?
- 22. 數據設計和數據模型(ERD)有什麼區別
- 23. 什麼是Visual Basic .NET中的UInt32數據類型?
- 24. cl_datatype和通常數據類型之間的區別是什麼
- 25. 數據模型和對象模型有什麼區別?
- 26. 有界通配符和類型參數有什麼區別?
- 27. dataStore和數據庫有什麼區別?
- 28. Oracle中長和長的原始數據類型有什麼區別?
- 29. 選項類型和可空類型有什麼區別?
- 30. 有什麼區別擴展類型和類型
根據我的理解,如果我在wasm二進制文件中找到一個字節'0x7f',這意味着這個地方必須有某種整數值? – YHSPY
謝謝!我想我明白這一點。 :) – YHSPY
不,如果您發現'0x7f',這可能意味着很多事情,因爲WebAssembly格式是可變長度編碼。取決於上下文,「0x7f」可能意味着不同的事情。這與x86中的相同,每個字節可能意味着不同的事情,具體取決於正在解碼的指令。 –