使用c代码

时间:2017-05-21 13:52:55

标签: c linux macos segmentation-fault

我正在尝试在Linux机器上运行并行代码(数值模拟)。我已经在我的笔记本电脑(OSX)上测试了代码配置,一切正常。当我运送到较大的(Linux)机器时,它会在第一个时间步长上发生段错误。

我没有编写代码,也不想进行调试。我希望有可能用不同的编译器或标志来解决问题。

在我的笔记本电脑(OSX)上,我使用默认编译器运行代码。

cc --version
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.5.0

在我工作的Linux机器上,我正在使用

cc --version
cc (Ubuntu 4.9.4-2ubuntu1~14.04.1) 4.9.4

我在Linux机器上尝试了4.9.4和4.8.4,两者都给出了相同的段错误。

我的Makefile设置以下指令:

CFLAGS = -O3
LDFLAGS = -I`pwd` -I$(SRCDIR) -I/usr/bin/include -I/usr/include/mpi
LIBFLAGS = -lm -lnetcdf -lmpi -L/usr/bin/lib

我知道这是一个黑暗中的镜头,但如果有人有改变的建议,我可以尝试让这个在linux机器上工作,我将非常感激。如果你已经不熟悉,我只是一个普通的科学家,而不是一个计算机科学家,所以这对我来说大部分都是黑魔法。

感谢。

1 个答案:

答案 0 :(得分:0)

  

我没有编写代码,也不想进行调试。

好吧,如果你拒绝帮助自己,你就必须贿赂别人为你做这件事。

  

我希望用不同的编译器或标志解决问题是可能的。

这很有可能,但找到正确的标志需要首先理解问题。

否则,您正在尝试program by coincidence,这很少会带来成功。