|
|
1
12
反编译程序有一个错误。这条线
应该被分解到
它虽然冗长得不必要,但至少是正确的代码。 反编译程序可能会执行不必要的冗长版本,因为C编译器经常选择发出
就像你写的
由于为两个程序生成的代码是相同的,因此反编译器并不总是知道要显示哪个代码更为合理。 意外的原因“!=false“是因为当我们生成IL来测试某个东西是否是真的时,我们能生成的最快、最紧凑的代码就是测试它是否是假的。在IL中,false被表示为零,并且有一个廉价的指令“这是零吗?” |