【发布时间】:2013-05-18 13:43:25
【问题描述】:
我想问一下关于 .NET 可执行文件的两件事:
.NET 可执行文件是 PE 格式。这是否意味着CIL编译器生成的地址是从文件的开头(
address+size_of_headers)?还是这些地址仅在内存中执行图像时使用?是否可以(通过 CIL 编译器)生成大小大于 4GB 的可执行文件?如果是,如果编译器必须从文件末尾调用方法或分支到超过 4GB 限制的字节,编译器会做什么?
确实,我从未见过任何大于 4GB 的 C# 可执行文件,我只是好奇。
【问题讨论】:
-
“CIL编译器生成的地址”你说的是什么地址?
-
输出代码中操作码后面的地址。
-
哪个操作码?每个操作码都有自己的格式。
-
br, br_s, brture, brtrue_s 操作码
标签: c# .net compiler-construction branch cil