我有一些软件,我在使用 icc 的 redhat 系统上工作,它运行良好。当我将代码移植到使用 MIPS 运行的 IRIX 系统时,我会得到一些计算结果,这些计算结果肯定应该是“nan”。
我在非 redhat 系统上没有任何好的调试器,但我发现我的一些数组偶尔会出现“nan”,这导致我的点积计算返回为“nan”。
看到我无法使用调试器跟踪它,我认为问题可能出在 memcpy 上。带有动态分配数组的 MIPS 编译器 memcpy() 函数是否存在任何问题?我基本上在使用
memcpy(to, from, n*sizeof(double));
我无法真正证明这一点,但我认为这可能是问题所在。有一些解决方法吗?也许中小企业数据未对齐?我该如何解决?