我正在研究 MSIL (CIL) 代码着色器,尽管我对 MSIL 不是很熟悉。
我在 Common Language Infrastructure (CLI) 中找到了所有关键字的列表.
这些关键字包括 add
、.file
、conv.i4
和 unaligned.
。
我有点纠结于点是关键字的一部分。我很确定这些点需要成为关键字的一部分,因为我不认为像 i4
这样的东西可以单独作为关键字。我很确定我希望某些关键字开头的点成为关键字的一部分。
但是那些有尾随点的少数怎么办,比如最后一个?尾随点是关键字的一部分有什么原因吗?
最佳答案
点是这些说明的一部分(我不知道为什么)。还有其他一些类似的前缀指令,例如 unaligned.
、volatile.
、constrained.
、readonly.
和 tail.
。 (我不确定我是否列出了所有这些,但重点是,您的解析器必须识别这些。)
volatile.
的文档特别提到,在它适用的指令之前,至少必须有一个空格跟随它。例如:
volatile. ldind.i4 // Correct
和
volatile.ldind.i4 // Syntax error
这些来自 Serge Lidin 的 Expert .NET 2.0 IL Assembler(这几乎是权威的 IL 引用)。
关于.net - 了解 MSIL (CIL) 关键字中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26444276/