执行文件为什么不能运行
Ⅰ 可执行性文件运行不了,谁能帮看看是什么原因
动态连接库问题!
使用Windows 9x/Me的朋友最害怕的便是突然屏幕上出现“非法操作”的提示,而其中的显示信息又常常涉及kernel32. dll这个文件,那么kernel32.dll是什么,如何应对与解决这类问题呢?相信下面这篇文章会为你指点迷津。
kernel32.dll
一、什么是kernel32内核文件
kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
有时,Windows会弹出“非法页错误”的消息框,简单地说,这是因为某个或多个程序试图访问kernel32.dll所占用的内存保护区域,从而产生冲突而造成的。该错误一般由某个特定的程序引起,也可能是多个文件或程序。如果是由某个程序引起,那么可以尝试重新安装或升级该程序来解决问题,而如果由多个文件和程序引起,那就极有可能是因损坏的硬件设备驱动而引起的。
二、引起kernel32出错的主要元兇
1.Windows自身的临时交换文件被破坏;
2.文件分配表(FAT)出现错误;
3.用户名和密码列表错误;
4.装载了已经被破坏的或者是不正确版本的ker -nel32.dll文件;
5.注册表文件被损坏;
6.计算机硬件有问题,如CPU过热、超频使用、损坏的电源、地线波动、射频噪音、损坏的磁盘控制器;
7.BIOS中等待状态设置出现问题,或者RAM时钟有错误;
8.已经损坏或者没有正确、完整地安装软件;
9.临时文件夹不存在或者已经损坏;
10.损坏的控制面板文件(扩展名为cpl);
11.不正确或者已经损坏的硬件驱动程序;
12.没有正确安装打印机驱动程序;
13.Java设备错误;
14.已经被破坏的.LOG日志文件;
15.访问历史文件夹错误;
16.不合适的或损坏的动态链接库文件;
17.机器感染了病毒;
18.损坏的或者不正确版本的msinfo32.exe文件;
19.磁盘空间不足。
三、行之有效的解决方案
知道了哪些情况可能引起kernel32.dll文件出问题,那么就可以采取排除法一一解决。不过,在大多数情况下,我们建议你优先实施以下解决方案:
1.错误的内存模块:用“记事本”打开根目录下的config.sys,并在其中插入命令行:DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:ON,然后在电脑重启时观察屏幕所显示的HIMEM has detected unreliable memory at address xxxxxxxxx,这样就可以基本确定内存出了问题。不过,这可能需要重启几次来逐一发现。当然也可以下载、运行相应的系统诊断软件,特别是内存检测软件;
2.错误的显卡驱动程序:最新版本的显卡驱动程序可以保证显卡更加稳定、高效地运行,因此你要确保显卡驱动程序是最新版本;
3.超频CPU、总线速度:如果想要你的电脑运行得更加稳定、持久,建议不要将CPU和总线超频使用,恢复到默认值;
4.CPU或者电源风扇转速不正常或落满灰尘:风扇的不稳定可能导致CPU或电源温度过高,从而引起系统不稳定。CPU风扇可以用小刷子和吹风机处理,电源风扇则需要由专业人员清扫;
5.图形加速设置过高:右击“我的电脑”,选择“属性”命令,在“性能”选项卡中选择“图形”按钮,将硬件加速调低一个刻度,然后确定后重启,如果还有问题,再重复以上步骤继续往下调低一个刻度,直到正常为止;
6.动画光标、鼠标轨迹和活动桌面:这些花哨的设置都有可能引起kernel32.dll错误,尝试禁用这些功能,然后再一个一个激活这些功能,直到发现错误为止;
7.相当有效的解决方案:实践证明这个方法解决过许多ker- nel32.dll崩溃的问题。在C盘根目录下,用“记事本”创建或者直接修改系统配置文件config.sys,在其中加入如下3行语句:
FILES=65
BUFFERS=40
STACKS=64,512
如果错误仍然存在,可使用“记事本”打开系统文件夹下(如〈C:\Windows\〉)的system.ini文件,然后在[386Enh]节上加入如下两行语句:
; Increases default stack pages from 2 to 6
MinSPs=6
(MinSPs默认值是2,如需要,每次增加2直到解决问题为止,而第一句前面的“;”主要起注释作用。)
修改好后保存退出,重启使之生效。
8.删除临时交换文件:如果错误仍然存在,可以尝试删除 Windows的临时交换文件Win386.swp来解决问题,不过该文件无法在Windows下删除,你需要退到DOS实模式下进行,进入系统目录(如C盘〈Windows〉目录)删除Win386.swp,当系统重启后Windows会重新生成该文件。
9.密码列表损坏:如果系统密码列表文件被损坏也会引起错误,这时需要重建该文件,在“资源管理器”中选择〈Windows〉文件夹,然后按下F3调出查找对话框,在文件名中键入:*.pwl,然后进行查找,当符合条件的文件列出来后,将它们全部删除掉,接着重启,让系统重建密码列表文件。
10.病毒:如果系统显示的是MSIMN错误导致kernel32.dll产生无效页面错误,那么你的电脑很有可能被Happy 99蠕虫病毒所侵害,你需要使用杀毒软件对你的系统进行一下清除。
是不是所有的EXE文件都用不起???
是的话可能中了威金病毒
下载威金病毒专杀或者AV终结者杀下看
地址:http://dl.pconline.com.cn/html_2/1/66/id=44469&pn=0.html
Ⅱ win8.1系统下无法运行可执行文件怎么解决
某些程序在Win7系统上可以打开,但是在Win8.1系统里就不能正常运行了,这可能是Win8.1兼容性的问题。当然Win8.1程序无法运行的原因也是多方面的,下面就来介绍一下Win8.1某些程序无法运行怎么办?
一、以兼容性模式运行软件
当遇上程序无法运行的时候,如果该软件在Win7中是正常的,那么我们就要考虑是不是兼容性的问题了,我们可以尝试以windows7兼容模式来运行。
操作步骤:右键点击软件快捷方式图标选择“属性”,然后在“兼容性”设置界面,选择以兼容模式运行此程序并选择“Windows7”,然后确定,并双击尝试是否能打开www.xitonghe.com 。
二、以管理员身份运行
很明显Win8.1和win7的权限设置还是有区别的,在win7中只要开启了administrator管理员帐户基本都能运行所有程序了,而在win8.1中有时就是不行,那么我们对一些打不开的软件程序用“以管理员身分运行”;
操作方法:
右键点击软件图标,然后在菜单中选择”以管理员身份运行“,对于一些因为权限不足而导致无法打开的程序基本能正常使秀。
三、安装VC运行库和.Net框架
不少软件的运行需要VC++运行库的支持,那么如果在win8.1中你没有安装的话,则无法运行或出错,.Net也不列外
目前在win8.1系统中必装的运行库有 VC++ 2005 2008 2010 2012
.NET 版本则建议最少安装.Net 3.5版本。
以上就是Win8.1某些程序无法运行怎么办的全部内容了,这些方法都试过以后,如果某个程序还是不能打开,那就有可能是程序本身的问题了,这个时候就要卸载重装这个程序了。
Ⅲ C 输入一个简单的程序,每次运行时显示不能打开文件,无法运行怎么回事啊
看一下工程设置,
可能是生产路径设置不一致,
也就是说生成的可执行文件,和按F5运行寻找的路径不一样。
你可以先找找这个exe文件
Ⅳ 为什么有好多exe文件不能运行了
方法一、1、从窗体菜单栏做如下操作:工具>文件夹选项>工具>隐藏已知文件扩展名,取消该复选项;
2、在C:\WINDOWS\system32目录下找到 regedit.exe,将其改名为:regedit.com;
3、运行注册表:开始>运行>输入:regedit
打开目录:HKEY_CLASSES_ROOT\exefile\shell\open\command
双击右边“默认”项,弹出对话框将其改为:"%1" %* (注意前面没有空格)
这样问题就解决了。
方法二、.exe文件不能运行的情况:一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了,三是可能你中毒了
下面先说说硬件:
一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。如果都没有,那就从软件方面排除故障了。
先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当你放入两斤的水进入时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作,系统为保持稳定,就会出现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。
下面我从几个例子给大家分析:
例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。 解决方法:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0,自升级后,会被IE5.0代替。
例二:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。 解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\\winnt\\apppatch\\slayerui.dll。右键,属性,也会出现兼容性的选项。
例三:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。 解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。
例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“Ox060692f6”(每次变化)指令引用的“Oxff000011”内存不能为“read”,终止程序请按确定。 解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。
例五:双击一个游戏的快捷方式,“Ox77f5cdO”指令引用“Oxffffffff”内 存,该内存不能为“read” ,并且提示Client.dat程序错误。 解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。
例六:一个朋友发信息过来,我的电脑便出现了错误信息:“0*772b548f”指令引用的“0*00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。 解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。
通过上面的几个例子,可以看到,出现故障的原因有好多种,在这里把已经提到和有可能发生的原因列个表,方便查阅。
解决方法
1、内存条坏了更换内存条
2、双内存不兼容使用同品牌的内存或只用一条内存
3、内存质量问题更换内存条
4、散热问题加强机箱内部的散热
5、内存和主板没插好或和其它硬件不兼容等重插内存或换个插糟
6、硬盘有问题更换硬盘
7、驱动问题重装驱动。如果是新系统,要先安装主板驱动
8、软件损坏重装软件
9、软件有BUG打补丁或用最新的版本。
10、软件和系统不兼容给软件打上补丁或者试试系统的兼容模式
11、软件和软件之间有冲突如果最近安装了什么新软件,卸载了试试
12、软件要使用到其它相关的软件有问题重装相关软件。比如播放某一格式的文件时出错,可能是这个文件的解码器有问题
13、病毒问题杀毒
14、杀毒软件与系统或软件冲突由于杀毒软件是进入底层监控系统的,可能与一些软件冲突,卸载了试试
15、系统本身有问题有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序,像SP的补丁,最好要打上。如果还不行重装系统或更换其它版本的系统了
还有一种情况是被设置了禁止使用EXE文件
Ⅳ 为何可执行文件不能直接运行
病毒修改了文件关联,先用着打开方式吧,选可执行文件,装上杀毒。
建议进安全模式试试,不行就用命令行。
Ⅵ 电脑exe文件不能运行程序
电脑中毒,可能导致无法打开exe可执行文件。我们可以先用电脑安装的安全卫士或者杀毒软件查杀病毒后,再尝试打开exe可执行文件。如果上述步骤未能解决问题,接着如下步骤操作。点击“开始”,然后在弹出的开始菜单点击“所有程序”。在“所有程序”中点击“附件”,在“附件”中找到“命令提示符”。右键点击“命令提示符”,在弹出的右键菜单中点击“以管理员身份运行”。之后,打开命令提示符窗口。
在cmd命令提示符窗口中,输入“assoc .exe=exefile”,然后敲击回车键即可。
最后,电脑就可以打开exe可执行文件了。
Ⅶ 可执行文件不能执行怎么办
因为程序执行完了自动关闭了。
你可以在程序最后加一行getchar();表示从键盘输入一个字符。这样程序在输出结果之后,就会等待键盘输入,你就可以观看运行结果。若要退出程序,按回车键即可。如果在getchar();之前输出一行"Press Enter to exit"之类的提示信息会更人性化。
你也可以在控制台(cmd)中,输出该exe文件的文件名以执行之。执行结束后,控制台不会退出,从而你也可以看到结果。
另外,你的程序有一点小毛病,double类型的变量在输出时的格式控制符是%f而不是%lf。
Ⅷ 关于EXE可执行文件无法运行
exe关联丢失
1、打开“我的电脑”,进入菜单“工具”→“文件夹选项”→“文件类型,单击“新建”弹出“新建扩展名”对话框,在“文件扩展名”框中填入“exe”,接着单击“高级”,在“关联的文件类型”下拉框中选择“应用程序”,单击“确定”返回,最后单击“应用”后关闭对话框
2、如上面的方法不能解决,或应用那个按钮是灰的,那可以重启按F8选“命令提示符的安全模式”,然后在命令提示符下直接输入assoc .exe=exefile 或ftype exefile=%1%* 然后回车就OK了!
Ⅸ 为什么EXE文件运行不了,也安装不了,其他不需要安装exe的软件又没事,可以使用安装
.exe文件应该叫可执行文件。这通常是一个DOS平台及以上的兼容平台(如WINDOWS)这类的程序文件的运行依靠大量.BIN .com这类的文件支持 ,同时不同的程序可能还需要大量的库文件,以动态链接库文件支持,所以,如果某一个可执行文件不能正常运行,一般情况下是运行的支持文件不完整,最好的办法,是重新安装 。因为你没有把完整的文件名写出来,不知道你的问题究竟如何解决。但是,最简单的办法,就是重新安装,但是,不是复制这个程序文件,而是找到安装文件安装。
Ⅹ MingW编译出的可执行文件为什么无法运行
-c输出的是obj文件,别看后缀名是exe,实际上并没有完成链接,所以无法运行。
正确的命令是:
g++ 1.c -lm -o 1.exe
或者分两步:
g++ 1.c -o 1.obj
g++ 1.obj -lm -o 1.exe