在Linux服务器上编译代码似乎运行不同
问题描述:
我想不出一个很好的方式来命名这个问题,因为这个问题的描述非常冗长。基本上,我遇到的问题是,在我上传到我的学校的Linux服务器后,我在Mac上的Xcode中编写的代码没有运行。我以前从未遇到过这个问题。它不是一个语法问题,这是我可能遇到的问题(IE也许我不需要在Xcode上包含一个需要包含在Linux服务器上的特定头文件,所以当我尝试编译时出现错误那里),但它是一个逻辑错误。一个具体的if-else语句完全是错误的。它可以在Xcode中正常工作,但是上传到linux服务器并使用makefile编译的.cc文件具有完全不同的结果,使用与Xcode中使用的相同的确切输入。我甚至在上传之后使用emacs打开.cc文件,以确保没有任何代码被修改过,但没有任何变化。这很奇怪。我从来没有遇到过这样的问题。我想提供代码,但可能会太长,所以我需要将其分解成更小的示例。现在,我想知道这是否是其他任何人遇到过的。这项任务涉及图论。我输入'A'和'B'来绘制两个顶点之间的边。你可以看到它在Xcode构建中起作用,但不能从Linux构建中起作用。在Linux服务器上编译代码似乎运行不同
答
我发现的错误。在Xcode中,出于某种原因,我将一个字符输入到字符串中,如'cin >> string [0]',但它在Linux服务器上编译时会导致问题。它不会接受阵列式的输入,我不得不用“CIN >>字符串”
是,其他人都写代码,编译成功,但表现不同在不同的系统。当程序或编译器不严格符合标准时,可能会发生这种情况。通常,问题出在程序上。这是我告诉你不要发布整个节目的部分,而是将它剪下来成为[mcve],然后发布。 –
(也和只是作为一个预留的,单数“顶点”的是“顶点”) – DDP
感谢。其实,我知道这一点从以前的数学课,我想我的大脑只是完全扰乱现在试图弄清楚这一点。 –