Windows 11上Dev C++ 5.11 提示 Failed to execute xxx Error 0的一种解决方法
问题现象
在Windows 11上用Dev C++ 5.11编译运行程序,出现如下错误不能运行,且自己的程序没有问题。

可能的原因
- Dev C++没有以管理员身份运行?
- 生成的程序所在的目录受到了访问权限保护?
- ...
通过排查,我们发现Dev C++ 5.11通过调用其目录下的ConsolePauser.exe来实现执行完我们的程序之后按任意键退出的功能。问题很可能出现在这个ConsolePauser上。
我们直接写一个新的ConsolePauser替换掉原来的。
进一步试验知道Dev C++ 5.11调用ConsolePauser.exe的命令形式为
ConsolePauser.exe <FileName> <Option>
只要我们获取了FileName字段,便可利用Windows.h提供的system函数执行我们的程序。并在我们的程序结束后返回ConsolePauser。
新的ConsolePauser通过读取命令参数就可以获得FileName字段。
不过新的ConsolePauser的设计有几个细节:
1.整个FileName字段要用双引号括住,以防目录或文件名中出现空格
2.要将可能的Option字段忽略
3.FileName存放在char数组中,数组尽可能大。
4.需要有一个简单的程序运行计时功能
5.需要能清空程序运行后缓冲区中第一个回车之前的全部内容,以截停控制台的关闭。
解决方法
下载压缩包:
https://files.cnblogs.com/files/mrblug/ConsolePauser.zip
解压密码为 mrblug
打开Dev C++程序目录,一般是C:\Program Files (x86)\Dev-Cpp\,重命名目录下的ConsolePauser.exe为ConsolePauser-old.exe,并复制压缩包中的ConsolePauser.exe到该目录下即可。
新的ConsolePauser的代码
在Dev C++ 5.11中设置编译选项为
-std=c11 -Og
通过TDM-GCC 4.9.2 64-bit Release方式编译,得到的可执行文件重命名为ConsolePauser.exe,替换原有程序即可
#include <stdio.h>
#include <time.h>
#include <windows.h>
/* Mr.Blug */
char file_name[4096] = "\"";
int main(int argc, char **argv)
{
char *src = NULL, *dst = file_name + 1;
for(int i = 1; i < argc; ++i) {
src = argv[i];
if(*src == '-' || *src == '/') break;
while(*src) {
*dst = *src++;
++dst;
}
}
*dst = '\"';
clock_t start = clock();
system(file_name); //executing the user program
clock_t end = clock();
printf("====== Dev C++ Console Pauser for Windows 11 ======\n"
" The running time is about %.2lfs\n"
" Press any key to quit..."
,(double)(end - start) / CLOCKS_PER_SEC);
int temp;
while( ( temp = getchar() ) != EOF && temp != '\n' ) continue; //pause
return 0;
}
效果

Windows 11上Dev C++ 5.11 提示 Failed to execute xxx Error 0的一种解决方法的更多相关文章
- 错误/异常:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind;的解决方法
1.异常视图 2.解决方法 SocketException(JVM_Bind):套接口异常 说明:服务器端口号被占用 了 解决方法:点击 Window-->Preferences- ...
- Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法
Laravel 5.4 Mix & Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法 首先进入package.json文 ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- Win10提示“您未连接到nvidia gpu的显示器”的解决方法
显卡有Nvidia 和 ATI两个芯片,我们经常称他们为N卡和A卡,N卡更加注重于性能,而A卡则为颜色艳丽,画面更好.不过,最近一些windows10系统用户在使用N卡过程中,遇到了提示“您当前未使用 ...
- IntelliJ IDEA提示URI is not registered几种解决方法
IntelliJ IDEA提示URI is not registered几种解决方法使用IntelliJ IDEA (以下简称IDEA)导入项目或是在maven生成 archetype时候,如果提示 ...
- Linux下Python3.5使用pyqt5.11报错 ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices 解决方法
我用的Linux自带的是Python3.5版本,运行pip3 install PyQt5, 下载的是PyQt5.11,运行PyQt5程序会报错: ImportError: /usr/local/lib ...
- 黄聪:Windows 64位系统中安装Android SDK“系统找不到指定的文件Java.exe”解决方法
明明已经在64位window7中安装好了64位版本的jdk,为什么android SDK安装程序却识别不到jdk呢?先看看报错: Java SE Development Kit (JDK) not f ...
- IIS上虚拟目录下站点的web.config与根站点的web.config冲突解决方法
IIS7.5上在站点下部署虚拟目录,访问虚拟目录下的项目提示与父节点配置冲突.,节点与的<system.web>节点与主站点的<system.web>冲突解决方法: 在站点下的 ...
- eclipse代码提示设置过常用字符还是不起作用的解决方法
问题:重装eclipse之后发现没有了代码提示,一般情况下在设置中添加自动提示的字符之后就可以了,设置如下 如上图,初始的时候是只有一个点号,并没有字符,输入26个字母的大小写后点击Apply and ...
随机推荐
- RabitMQ 发布确认
每日一句 军人天生就舍弃了战斗的意义! 概述 RabitMQ 发布确认,保证消息在磁盘上. 前提条件 1.队列必须持久化 队列持久化 2.队列中的消息必须持久化 消息持久化 使用 三种发布确认的方式: ...
- 04C++核心编程
Day01 笔记 1 C++概述 1.1 C++两大编程思想 1.1.1 面向对象 1.1.2 泛型编程 1.2 移植性和标准 1.2.1 ANSI 在1998制定出C++第一套标准 2 c++初识 ...
- [CSP-S 2019 Day2]Emiya家今天的饭
思路: 这种题目就考我们首先想到一个性质.这题其实容易想到:超限的菜最多只有一个,再加上这题有容斥那味,就枚举超限的菜然后dp就做完了. 推式子能力还是不行,要看题解. 式子还需要一个优化,就是废除冗 ...
- 【Java面试】TCP协议为什么要设计三次握手?
一个工作5年的粉丝,最近去面试了很多公司,每次都被各种技术原理题问得语无伦次. 由于找了快1个月时间的工作,有点焦虑,来向我求助. 我能做的只是保证每天更新一个面试题,然后问他印象最深刻的一个面试题是 ...
- VMware Workstation 虚拟机详细安装教程
一.介绍篇 VMware Workstation 16 Pro是VMware(威睿公司)于2021年最新发布的一代虚拟机软件,软件的中文名是"VMware 工作站 16 专业版". ...
- 介绍一个好用的dao层与mybatis互跳的idea插件MyBatisCodeHelperPro
一次点击 File--> Settings --> Plugins -->搜索MyBatisCodeHelperPro,点击获取,重启idea即可 接下来看效果,点击小企鹅就可以相互 ...
- go-zero微服务实战系列(七、请求量这么高该如何优化)
前两篇文章我们介绍了缓存使用的各种最佳实践,首先介绍了缓存使用的基本姿势,分别是如何利用go-zero自动生成的缓存和逻辑代码中缓存代码如何写,接着讲解了在面对缓存的穿透.击穿.雪崩等常见问题时的解决 ...
- java基础知识面试总结-部分
前言 在平时的工作学习中,自己对微服务和springboot基础理论知识关注比较少,在面试中对于面试官的问题,很多基本都不能够达到精准,全面:现将自己面试中的问题做以总结: 1.谈谈你对微服务架构的认 ...
- JS 会有变量提升和函数提升
JavaScript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,"变量提升"意味着变量和 ...
- 交警也觉得妙——Python 识别车牌
车牌识别在高速公路中有着广泛的应用,比如我们常见的电子收费(ETC)系统和交通违章车辆的检测,除此之外像小区或地下 车库门禁也会用到,基本上凡是需要对车辆进行身份检测的地方都会用到. 一些背景: 车牌 ...