我用 C 编写了一个快速矩阵乘法器。它在我的 MBA 上编译并运行良好。但是,当我在学校的 Linux 机器上编译和运行时,我陷入了无限循环。
这是我的 gcc 编译
gcc -Wall prog1.c -o prog1
这是我在 MBA 上使用的 gcc 版本
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build
2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
这是学校服务器上的 gcc 版本。
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
这是代码的链接。
编辑:对不起!我在输入验证中得到一个无限循环。我一直在使用 printf 语句来调试我的代码,但我仍然很难理解为什么它会卡在那里。发生的情况是第 181 行的 for() 在遇到 '+' 或 '-' 后继续循环。
十六个命令行参数,因为它填充了两个矩阵,每个矩阵有 8 个整数。
我不是绝对肯定这是不同编译器或我的代码的问题!我只是认为是这样,因为我在 MBA 上得到了预期的结果,但在 Red Hat 机器上却没有。