gpt4 book ai didi

c# - 处理双 NaN 和 Inf 时的 ILASM 问题

转载 作者:行者123 更新时间:2023-12-04 12:56:36 26 4
gpt4 key购买 nike

我创建了一个简单的程序,并初始化了一个 double 类型的值,

var a = double.NaN;


我使用 Visual Studio 2019、.net framework 4.5 构建项目
并使用 ILDASM.exe 版本 4.0.30319.0 将其反汇编为 .il 文件

IL_0001: ldc.r8 -nan(ind)


但是当我尝试使用 ILASM.exe 版本 4.8.3752.0 组装它时出现错误

test.il(65) : error : syntax error at token '-' in: IL_0001: ldc.r8 -nan(ind)


这也发生在 Double.PositiveInfinity 和 Double.NegativeInfinity 上。
任何人都可以帮忙吗?

最佳答案

我从 here 找到错误原因
简单的解决方案就是替换:

ldc.r8 -nan(ind) -> ldc.r8 (00 00 00 00 00 00 F8 FF)


ldc.r8 inf -> ldc.r8 (00 00 00 00 00 00 F0 7F)


ldc.r8 -inf -> ldc.r8 (00 00 00 00 00 00 F0 FF)

关于c# - 处理双 NaN 和 Inf 时的 ILASM 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66282361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com