c++ - 在 Linux 服务器上编译代码似乎运行方式不同

标签 c++ linux xcode emacs makefile

我想不出一个好方法来命名这个问题,因为问题的描述相当冗长。基本上,我遇到的问题是,我在 Mac 上的 Xcode 中编写的代码在上传到学校的 Linux 服务器后运行不一样。我以前从未遇到过这个问题。这不是一个语法问题,这是我可能遇到的问题(IE也许我不需要在Xcode上包含某个需要包含在Linux服务器上运行的头文件,所以当我尝试在那里编译时会收到错误),但它是一个逻辑错误。一个特定的 if-else 语句的评估完全错误。它在 Xcode 中可以正常工作,但是将相同的 .cc 文件上传到 Linux 服务器并使用 makefile 进行编译,它会产生完全不同的结果,使用与 Xcode 中使用的完全相同的输入。我什至在上传后用 emacs 打开 .cc 文件,以确保没有任何代码因上传失败而被更改,但实际上什么都没有改变。这很奇怪。我以前从未遇到过此类问题。我想提供代码,但它可能太长了,所以我需要将其分解为一个较小的示例。现在,我想知道其他人是否遇到过这种情况。该作业涉及图论。我输入“A”和“B”来绘制两个顶点之间的边。您可以看到它在 Xcode 构建中有效,但在 Linux 构建中无效。

Program Ran From Xcode Build In Terminal Program Ran after Compiling on Linux Server and Being Ran

最佳答案

我发现了错误。在 Xcode 中,由于某种原因,我将一个字符输入到字符串中,如“cin >> string[0]”,效果很好,但这在 Linux 服务器上编译时导致了问题。它不接受数组样式输入,我必须使用“cin >> string”

关于c++ - 在 Linux 服务器上编译代码似乎运行方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40798133/

相关文章:

c++ - VS 2015 : The breakpoint will not currently be hit. 没有为此文档加载符号

c++ - 初始化变量时遇到问题

linux - system_call_after_swapgs,我的代码大部分时间都花在哪里?

linux - 何时在 docker 中使用 -type d-exec chmod 750/640

ios - 没有从 API 获取所有数据

ios - 添加帐户卡在 Xcode 中

c++ - 我怎样才能修复这个教科书程序以在 C++ 中添加多项式?

c++ - 使用 shared_ptrs 的 pair<unsigned int, boost::any> 类型的通用容器的线程安全实现

linux - 在 linux mint 16 x64 上安装 xv6

ios - 我可以在 iTunes Connect 和 Xcode 中跳过 iPhone 应用程序的版本号吗?