【问题标题】:is it possible to replace the default console in eclipse CDT?是否可以替换 Eclipse CDT 中的默认控制台?
【发布时间】:2014-03-25 16:40:29
【问题描述】:

我想知道是否可以替换 Eclipse CDT 中的默认控制台。

是否有可能以这样的方式进行更改,当我们从 Eclipse 运行程序时,.exe-文件应该在 cmd.exe 控制台中运行,而不是像在 Visual Studio 中那样在 Eclipse 控制台中运行。

我上网查了一下,发现通过更改“外部工具配置”可以在Eclipse中启动cmd.exe,但我必须在命令提示符下手动输入可执行文件名.在“外部工具配置”下将可执行文件名称作为参数也不起作用。

有没有办法自动运行可执行文件?

【问题讨论】:

  • 我可以知道您想使用外部控制台而不是内部控制台的原因吗?

标签: eclipse cmd eclipse-cdt


【解决方案1】:

我想替换默认的 Eclipse 控制台的原因是它在使用 scanf(),printf() 语句运行控制台应用程序时行为不正常。

例如

main()
    {
       printf("enter a number");
       scanf("%d",&number);
       printf("number is %d",number);
     }

会在 Eclipse 控制台上产生以下输出

1
enter a number number is 1 

第一个printf("enter a number"); 仅在1 输入控制台后打印。

如果我直接在 cmd.exe 上运行相同的程序,该程序将按预期运行。

这是由 Eclipse 控制台本身的错误引起的。

可以通过在每次 printf 后调用fflush()来解决该错误

通过在 main() 之后添加以下代码行

void main()
{
    setvbuf(stdout,NULL,_IONBF,0);      // required by eclipse cdt to properly-
    setvbuf(stderr,NULL,_IONBF,0);      //-display output in console window
}

我试过第二个选项,效果很好。

可以在这里找到错误的详细信息

http://wiki.eclipse.org/CDT/User/FAQ#Eclipse_console_does_not_show_output_on_Windows

这里

https://bugs.eclipse.org/bugs/show_bug.cgi?id=173732

【讨论】:

    【解决方案2】:

    也许这会有所帮助... 右键单击您需要的文件夹(文件),然后单击在本地终端中显示:

    会出现本地终端

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      相关资源
      最近更新 更多