我有一些不安全的C#代码,它byte*在64位机器上运行的大型内存块上执行指针算法.它在大多数情况下都能正常工作,但是当事情变得很大时,我常常会在指针不正确的情况下出现某种腐败现象.
byte*
奇怪的是,如果我打开"检查算术溢出/下溢"一切正常.我没有任何溢出异常.但由于性能大,我需要在没有此选项的情况下运行代码.
什么可能导致这种行为上的差异?
c# math 64-bit
64-bit ×1
c# ×1
math ×1