C++ 在Linux服务器上编译代码的运行方式似乎有所不同

C++ 在Linux服务器上编译代码的运行方式似乎有所不同,c++,linux,xcode,emacs,makefile,C++,Linux,Xcode,Emacs,Makefile,我想不出一个好办法来命名这个问题,因为对这个问题的描述相当冗长。基本上,我遇到的问题是,我在mac电脑上用Xcode编写的代码在我上传到学校的linux服务器后运行不一样。我以前从未遇到过这个问题。这不是一个语法问题,我可能会遇到这个问题(也就是说,我可能不需要在Xcode上包含在linux服务器上运行时需要包含的某个头文件,所以我在尝试编译时遇到了一个错误),但这是一个逻辑错误。一个特定的if-else语句的计算完全错误。它在Xcode中可以正常工作,但是对于上传到linux服务器并使用mak

我想不出一个好办法来命名这个问题,因为对这个问题的描述相当冗长。基本上,我遇到的问题是,我在mac电脑上用Xcode编写的代码在我上传到学校的linux服务器后运行不一样。我以前从未遇到过这个问题。这不是一个语法问题,我可能会遇到这个问题(也就是说,我可能不需要在Xcode上包含在linux服务器上运行时需要包含的某个头文件,所以我在尝试编译时遇到了一个错误),但这是一个逻辑错误。一个特定的if-else语句的计算完全错误。它在Xcode中可以正常工作,但是对于上传到linux服务器并使用makefile编译的相同.cc文件,它使用了与Xcode中使用的相同的精确输入,结果完全不同。我甚至在上传后用emacs打开.cc文件,以确保没有任何代码被错误的上传更改,但没有任何更改。这很奇怪。我以前从未遇到过这种问题。我想提供代码,但可能太长了,所以我需要将其分解为一个较小的示例。现在,我想知道这是否是其他人遇到过的事情。这项作业涉及图论。我正在输入“A”和“B”来绘制两个顶点之间的边。您可以从Xcode构建中看到它的工作原理,但从Linux构建中看不到


我发现了错误。在Xcode中,出于某种原因,我将一个字符输入到一个字符串中,如“cin>>string[0]”,这工作正常,但这在linux服务器上编译时导致了问题。它不接受数组样式的输入,我不得不使用'cin>>string'

是的,其他人编写的代码编译成功,但在不同的系统上表现不同。当程序或编译器不严格遵守标准时,可能会发生这种情况。通常,问题在于程序。在这一部分,我告诉你不要发布整个程序,而是将它缩减为一个,然后发布。(另外,顺便说一句,“顶点”的单数是“顶点”),谢谢。事实上,我从以前的数学课上就知道了这一点,我想我的大脑现在正试图弄明白这一点。我发现很难将代码缩小到相当小的范围。我可以删掉大量的代码,但是为了保持它的功能,它仍然需要相当多的代码。