C++ Gcc编译的可执行文件生成;“拒绝访问”;消息
我已经在C++ Gcc编译的可执行文件生成;“拒绝访问”;消息,c++,c,gcc,C++,C,Gcc,我已经在dev-c中设置了gcc的路径。它可以很好地编译并创建可执行文件,但无法运行程序,并首先显示一个消息框(如第一张图片所示),然后在控制台上打印错误消息 注: 如果我在我的系统上使用Dev Cpp运行程序,程序完全可以很好地生成输出,但是当我使用命令提示符调用编译器时,我会遇到这些问题 我正在使用Windows XP 我还安装了 更新(来自评论) 我知道,dependency walker说我有依赖性问题,但如果是这样,那么Dev CPP如何在我的计算机上编译程序?如前所述,De
dev-c
中设置了gcc
的路径。它可以很好地编译并创建可执行文件,但无法运行程序,并首先显示一个消息框(如第一张图片所示),然后在控制台上打印错误消息
注:
Dev Cpp
运行程序,程序完全可以很好地生成输出,但是当我使用命令提示符调用编译器时,我会遇到这些问题更新(来自评论) 我知道,
dependency walker
说我有依赖性问题,但如果是这样,那么Dev CPP如何在我的计算机上编译程序?如前所述,Dev Cpp能够编译并运行写入编辑器的代码。我最好的猜测是gcc检测到我的32位操作系统,并向Dev Cpp
编译过程添加一些开关,如
gcc -something -something my_program.c
有人能找到什么东西吗?这个错误可能是由几个不同的问题引起的: 1) 文件已损坏、损坏或丢失 2) 文件不是为您的windows版本设计的 3) 文件是病毒、蠕虫或其他恶意软件文件 4) 硬件不兼容 我想我们可以排除最后两个,剩下1和2 1) 文件损坏:如果在创建exe时遗漏了使其工作所需的重要文件,则可能会发生这种情况。这些文件将位于您的开发环境中(源文件、头文件等)。如果未正确导出,可能会导致此问题。 缺少文件:在文件系统中搜索.exe。在运行它之前,请确保它确实存在。从开发环境运行它并不保证它存在于您的文件系统中 2) 文件不是为您的windows版本设计的:这实际上似乎是最可能的问题。例如,如果您编写的程序运行在64位版本的windows上,那么如果您有32位机器,它将不会运行。此外,如果您使用的是最新(或更新)版本的dev-c,它可能会默认为创建针对windows vista、7或8设计的exe。我相信你可以在某些地方更改设置,但我不是100%确定。我没有用过dev-c。查看设置/首选项/选项菜单,看看是否可以找到创建exe的版本。我希望如果你把它改成XP,它会工作得很好 祝你好运
来源:此错误可能由几个不同的问题引起: 1) 文件已损坏、损坏或丢失 2) 文件不是为您的windows版本设计的 3) 文件是病毒、蠕虫或其他恶意软件文件 4) 硬件不兼容 我想我们可以排除最后两个,剩下1和2 1) 文件损坏:如果在创建exe时遗漏了使其工作所需的重要文件,则可能会发生这种情况。这些文件将位于您的开发环境中(源文件、头文件等)。如果未正确导出,可能会导致此问题。 缺少文件:在文件系统中搜索.exe。在运行它之前,请确保它确实存在。从开发环境运行它并不保证它存在于您的文件系统中 2) 文件不是为您的windows版本设计的:这实际上似乎是最可能的问题。例如,如果您编写的程序运行在64位版本的windows上,那么如果您有32位机器,它将不会运行。此外,如果您使用的是最新(或更新)版本的dev-c,它可能会默认为创建针对windows vista、7或8设计的exe。我相信你可以在某些地方更改设置,但我不是100%确定。我没有用过dev-c。查看设置/首选项/选项菜单,看看是否可以找到创建exe的版本。我希望如果你把它改成XP,它会工作得很好 祝你好运
来源:如果仔细查看depends显示中的CPU列,您将看到您的程序已编译为x64二进制文件。您的系统似乎没有安装64位版本的Windows
显然,您的gcc配置为默认生成x64二进制文件。使用
-m32
选项使其生成32位x86二进制文件。如果仔细查看显示器中的CPU列,您将看到您的程序已编译为x64二进制文件。您的系统似乎没有安装64位版本的Windows
显然,您的gcc配置为默认生成x64二进制文件。使用
-m32
选项使其生成32位x86二进制文件。我在环顾四周时遇到了这个问题,因为我遇到了类似的问题。
我的程序看起来与此一模一样,但是我在cmd中的命令是
gcc Hello.c
,在这种情况下,它会创建一个临时的a.exe文件,或者gcc Hello.c-o Hello
,在这种情况下,它会创建一个Hello.exe文件。如果我继续尝试运行它,它会说访问被拒绝。我通过实时扫描发现这是我的反病毒软件。关闭此功能后,它运行良好。我在环顾四周时遇到了这个问题,因为我遇到了类似的问题。
我的程序看起来与此一模一样,但是我在cmd中的命令是
gcc Hello.c
,在这种情况下,它会创建一个临时的a.exe文件,或者gcc Hello.c-o Hello
,在这种情况下,它会创建一个Hello.exe文件。如果我继续尝试运行它,它会说访问被拒绝。我通过实时扫描发现这是我的反病毒软件。关闭此功能后,它将正常运行。您必须关闭系统中安装的防病毒软件的实时扫描功能
因为实时扫描持续保护您的电脑免受病毒、间谍软件和其他即时威胁