【问题标题】:Netbeans 8.1 IDE compiles and builds C programs but does not show their outputNetbeans 8.1 IDE 编译和构建 C 程序但不显示它们的输出
【发布时间】:2016-03-17 18:31:54
【问题描述】:

我的笔记本电脑上安装了 Java SE Development Kit 8u66 和 Netbeans IDE 8.1。 我目前正在尝试在 IDE 上练习 C 程序。但是,当我尝试运行任何 C 程序时,我从未看到任何输出。 无论我尝试什么 C 程序,Netbeans IDE 都只会编译和构建它。它从不显示任何输出,当我点击“运行项目”时,它会保持程序运行,直到我关闭 IDE。

我的问题是如何确保每次成功编译 C 程序时都能获得输出而不失败? [请注意,这个问题是在我的笔记本电脑上安装了早期版本的 Java SE 开发工具包和 Netbeans IDE 8.0.2 时发生的]

我也尝试了以下解决方案,但从我的代码中可以看出,它没有帮助:

请同时查看附件中的错误图片

以下是代码:

    #include <stdio.h>
    #include <stdlib.h>
       int main(void) {
       printf ("Hello, world!");
       fflush(stdout);
       return (0);
       }

我尝试通过输入名为 abc.exe 的 .exe 文件的完整路径在 Windows 8.1 命令提示符下运行该程序。命令提示符从未显示任何输出[请注意该程序是在 Netbeans IDE 8.1 上编译的]

c:\Users\Vishu>cd c:\
c:> c:\Users\Vishu\Documents\NetBeansProjects\Practice\abc.exe 无输出,光标一直闪烁

我尝试在 Cygwin64 终端上运行该程序,但显示错误而不是所需的输出。首先,我将名为 main.c 的源文件编译成 .exe 文件 abc .exe,然后再编译成 xyz.exe。我在两个 .exe 文件上都有错误。 请检查以下内容

对于 abc.exe 文件,出现以下错误

Vishu@Sheshadri ~
$ cd C:/Users/Vishu/Documents/NetBeansProjects/Practice

Vishu@Sheshadri /cygdrive/c/Users/Vishu/Documents/NetBeansProjects/Practice
$ notepad main.c

Vishu@Sheshadri /cygdrive/c/Users/Vishu/Documents/NetBeansProjects/Practice
$ gcc -o abc main.c

Vishu@Sheshadri /cygdrive/c/Users/Vishu/Documents/NetBeansProjects/Practice
$ ./abc
  1 [sig] -bash 4928 get_proc_lock: Couldn't acquire sync_proc_subproc       for(5,1), last 7, Win32 error 0
  537 [sig] -bash 4928 proc_subproc: couldn't get proc lock. what 5, val 1

对于 xyz.exe 文件,我收到以下错误

Vishu@Sheshadri ~
$ cd c:/Users/Vishu/Documents/NetBeansProjects/Practice

Vishu@Sheshadri /cygdrive/c/Users/Vishu/Documents/NetBeansProjects/Practice
$ gcc -o xyz main.c

Vishu@Sheshadri /cygdrive/c/Users/Vishu/Documents/NetBeansProjects/Practice
$ ./xyz
2 [sig] -bash 3820 get_proc_lock: Couldn't acquire sync_proc_subproc  for(5,1), last                                                                                                              7, Win32 error 0
463 [sig] -bash 3820 proc_subproc: couldn't get proc lock. what 5, val 1

此处附加的图像显示了尝试从 IDE 获取输出时 IDE 日志中的错误/消息。 有关错误,请参阅附件图像 Netbeans IDE 8.1 日志。

【问题讨论】:

  • 您也应该为 Python、Fortran 和 PL/1 添加标签。并且不要发布链接或图片,而是将所有所需信息以文本形式包含在您的问题中。
  • help center 我已经尝试了以下链接中提到的解决方案,但正如您从我的代码中看到的那样,它对我没有帮助。 [stackoverflow.com/questions/26900167/…
  • return 不是函数。你不应该给表达式加上括号。
  • 作为示例提供的 Netbeans 窗口左上角“项目”窗格中是否有任何项目可见?如果是这样,当您构建和运行一个时会发生什么?
  • @WeatherVane 我创建了左上角“项目”窗格中可见的所有项目。无论我尝试编译、构建和运行哪个项目,我都会遇到同样的错误。

标签: c windows netbeans cygwin netbeans-8.1


【解决方案1】:

自从我第一次发布上述问题以来,我已经卸载了 Netbeans IDE 8.1 并安装了 Eclipse IDE 版本:Mars.1 Release (4.5.1)。但是,Eclipse IDE 也有类似的问题。但直到我在我的笔记本电脑上禁用了一个活跃的免费杀毒软件。

当我的笔记本电脑上的免费杀毒软件被禁用时,所有程序都开始编译和构建成功。现在禁用杀毒软件后,我可以编译、构建和运行所有程序,还可以看到程序输出。

我在检查以下链接后禁用了我的防病毒软件: All Eclipse C++ Programs Fail to Run, Hangs on "Launching Delegate"

很有可能,在使用 Netbeans IDE 时禁用防病毒软件会有所帮助。但是,我在查明防病毒软件是否在干扰它之前就卸载了 IDE。但我认为可以安全地假设它确实是干扰 Netbeans IDE 的防病毒,因为当禁用防病毒软件时,Eclipse IDE 的类似问题得到了解决。

感谢所有为解决上述问题做出贡献的人。

编辑 - 导致相关错误的防病毒软件是 Avast Free Antivirus。 (程序版本:11.1.2245,病毒定义版本:160107-0,定义数量:3,346,214)

【讨论】:

    猜你喜欢
    • 2014-11-12
    • 2017-01-02
    • 2013-06-24
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多