C++ Xcode和C++;[初学者]-为什么Hello World程序会打印这些额外的东西?

C++ Xcode和C++;[初学者]-为什么Hello World程序会打印这些额外的东西?,c++,xcode,macos,C++,Xcode,Macos,每当我构建并运行我的程序时,它都会显示所有这些额外的内容: GNU gdb 6.3.50-20050815(苹果版gdb-1708)(周四11月3日21:59:02) UTC 2011)版权2004免费软件基金会,GDB免费 GNU通用公共许可证涵盖的软件,您是 欢迎在特定条件下更改和/或分发副本 条件键入“显示复制”以查看条件。有 GDB绝对没有保修。有关详细信息,请键入“显示保修”。 此GDB配置为“x86_64-apple-darwin”。tty/dev/ttys000 [切换到进程302

每当我构建并运行我的程序时,它都会显示所有这些额外的内容:

GNU gdb 6.3.50-20050815(苹果版gdb-1708)(周四11月3日21:59:02) UTC 2011)版权2004免费软件基金会,GDB免费 GNU通用公共许可证涵盖的软件,您是 欢迎在特定条件下更改和/或分发副本 条件键入“显示复制”以查看条件。有 GDB绝对没有保修。有关详细信息,请键入“显示保修”。 此GDB配置为“x86_64-apple-darwin”。tty/dev/ttys000 [切换到进程3022线程0x0]

你好,世界

退出代码为0的程序EndedW

以下是Hello World,默认代码:

#include <iostream>

int main (int argc, const char * argv[])
{

    // insert code here...
    std::cout << "Hello, World!\n";
    return 0;
}
#包括
int main(int argc,const char*argv[]
{
//在这里插入代码。。。

std::cout构建应用程序,然后从命令行(在终端中)运行它,您将不会看到任何GDB内容

如果您想进行调试,您将看到(并最终忽略)这些额外的行


快速检查,我发现苹果新的调试器(LLDB)打印出的“额外”要少得多输入XCode的调试输出/控制台。

gdb
是GNU调试器。以这种方式在IDE中运行似乎默认为在调试器下运行。简而言之,它与您的代码无关,与您使用的环境无关。

它正在打印所有额外的内容,因为它正在运行您的可执行文件在调试器中。您可以将弹出窗口从所有输出更改为“目标输出”,如下图所示:


我以前从未使用过Xcode,但是你能在调试版本和发布版本之间进行选择吗?如果是这样的话,会改变它从运行到不通过gdb运行吗?我之前制作了一个程序,它没有打印额外的内容,虽然是同一个IDE。所以我知道在Xcode中构建并运行代码时可以防止出现文本,但我只是不确定更改了什么(两个程序上都启用了GNU调试器。)