无法定位程序输入点于动态链接库上,怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法定位程序输入点于动态链接库上,怎么解决相关的知识,希望对你有一定的参考价值。
解决方法:kernel32。DLL解决方案第步如下(WIN10系统是用来演示和Windows版本的操作)。
1、第一步:开始搜索“命令提示符”,点击右边的打开按钮。
2、第二步:系统将打开一个命令提示符。
3、第三步:在窗口中输入CD/d%systemroot%system32并输入。
4、第四步:继续输入:对于%I在(*.dll)做Regsvr32%i/I/s,按回车并重新启动。
程序的运行
为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据。从计算机的底层来说,这是由高级语言(例如Java,C/C++,C#等)代码转译成机器语言而被CPU所理解,进行加载。
如果您在一个符合大多数的计算机上,操作系统例如Windows、Linux等,加载并执行很多的程序,在这种情况下,每一个程序是一个单独的映射,并不是计算机上的所有可执行程序。
它是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。
参考技术A教您无法定位程序输入点于动态链接库上怎么办
首先百度搜索,xxx.dll下载,找到目标进入网站
将下载的dll文件放入 C:\\windows\\system32\\ 和 C:\\Windows\\SysWOW64\\ 各放一个,避免不必要的麻烦
同时按下键盘组合键win+R,调出运行窗口
注册DLL , 在运行窗口输入xxxxx c:\\windows\\system32\\msvcr80.dll.dll然后点击确定按钮,如下图所示注意标准格式: xxxxx空格 dll文件所在路径,xxxx代码
dll动态库注册成功,系统就不会提示无法定位了。
以上就是无法定位程序输入点于动态链接库上的处理方法。
参考技术B 什么是动态链接库:英文缩写为DLL,它并不是可执行的文件,它是能向多个程序提供公用代码函数和数据的封装库,程序所需要的一些函数和数据被事先封装在DLL文件中,当程序运行时可以主程序需要调用这些DLL动态链接库。 无法定位程序输入点 于动态链接库上的原因:1.用户误操作不小心将程序安装目录中的动态链接库DLL文件删除,导致程序启动时无法找到必要的文件而报错(这种情况并不是普遍存在的,但也是原因之一)。
2.电脑感染木马病毒,虽然如今大多数杀毒软件已经趋于人性化,一旦发现某些木马病毒绑定系统程序,还是有不少杀毒软件采用一刀切的方式,直接 将这些被恶意绑架的系统程序删除(其中就可能包含DLL动态链接库文件),导致系统或应用程序缺少了必要的DLL动态链接库,从而出现“无法定位程序输入 点 于动态链接库上”的问题的(这种情况较为普遍,多数网友都是此原因造成的)。
3.在软件或游戏在线更新时,本该被正常写入或覆盖的DLL动态链接库文件因为意外的断电、重启、写入错误等原因没有下载更新成功,导致软件或游戏在运行过程中缺少必要的DLL动态链接库文件而报错。
无法定位程序输入点 于动态链接库上的解决办法:
步骤一:下载安装主流杀毒软件(卡巴斯基、金山毒霸、360安全卫士、瑞星等等),更新病毒库之后全盘杀毒。
步骤二:找出提示“无法定位程序输入点 于动态链接库xxxx.dll上”错误的信息,将系统提示缺少的xxxx.dll记录下来。
步骤三:百度搜索您已经记录下来的xxxx.dll信息,在百度搜索中输入xxxx.dll(加上DLL后缀),尝试通过网络下载 xxxx.dll(目前大多数系统动态链接库DLL文件都可以通过网络下载到),将下载到得DLL保存到U盘或指定文件目录内,假如是系统程序 (如:iexplore.exe、系统驱动程序加载、media play播放器等)报错,在重启电脑按下F8键,进入系统安全模式,将下载到得DLL文件复制到C盘中windows目录下的System32文件夹中, 然后再重新启动,便可以解决此问题;如果是游戏程序缺少DLL,下载之后需要将DLL复制到该游戏目录下的指定位置(由于游戏分类众多,所需DLL和位置 各有不同,小编无法详细说明,这需要您在实践中摸索)。
尝试三个步骤都无法解决无法定位程序输入点 于动态链接库上的问题,您应该考虑重装系统、软件或游戏了 参考技术C “无法定位程序输入点 于动态链接库”原因
1、病毒木马导致的, 比较典型的病毒是绑架类木马, 它是一种新型破坏性极强的木马,与传统病毒不同,它是通过绑架系统文件dll实现开机启动;
2、升级某个软件导致的。重装该软件即可解决该问题;
3、 用户自己操作造成的。
解决办法:http://www.tiecou.com/1945.html 参考技术D 进入C盘windows文件夹—— system32文件夹——找到dwmapi.dll文件,重命名为dwmapi.dll.bak文件。本回答被提问者采纳
VS2010+WinXP+MFC程序 无法定位程序输入点于动态链接库
1、问题描述
原开发环境:Win7 64位旗舰版,VS2010,ThinkPad T460
出现问题:自己开发的MFC程序在WinXP环境下无法正常运行,弹框“无法定位程序输入点InitializeConditionVariable于动态链接库kernel32.dll”
重新搭建开发环境:WinXP SP3 专业版,VS2010,GIGABYTE某motherboard(原谅办公室没别的空闲主机了)
问题依旧存在:重新编译通过,但运行时还是弹框“无法定位程序输入点InitializeConditionVariable于动态链接库kernel32.dll”,我在程序入口下的断点,都没有执行到。
2、原因
(1)如果并不是自己开发的程序:一般就是不兼容,但也有可能是别的原因。
(2)如果想让自己开发的程序在WinXP系统上兼容:不要低估微软,更不要高估寄几。一般没有别的乱七八糟的原因,只是因为WinXP系统的kernel32.dll中并没有InitializeConditionVariable。之前在Win7上开发的时候,你或者MFC程序调用了kernel32.dll中的InitializeConditionVariable,所以在XP上根本运行不了。一般是多线程处理不当造成的。
3、解决方法
(1)如果并不是自己开发的程序:想要尝试解决的话,请参照百度出来的方法,但是一定要提前准备好WinPE系统(U盘启动盘),并且对原kernel32.dll文件进行备份!因为替换kernel32.dll文件极有可能使你的操作系统开不开机。
(2)如果想让自己开发的程序在WinXP系统上兼容:
- 最好在WinXP上搭建开发环境,再调试代码。
- 最好直接Google,中文资料质量一般。不要问我怎么知道的o(≧口≦)o
- 虽然只有两个答案,但都是精华。 参考链接:http://stackoverflow.com/questions/2847960/procedure-entry-point-initializeconditionvariable-could-not-be-located-in-kernel
- 高票回答中的代码可能并不能解决问题,第二个答案中,答主贴了自己的一篇博客 https://www.justsoftwaresolutions.co.uk/threading/implementing-a-thread-safe-queue-using-condition-variables.html 希望对你萌有所启发,反正是启发到我了(∩_∩)
- 对于我的程序,我定位到出问题的地方是托盘,托盘涉及到的东西比较底层。现在我把托盘功能注释后可以再WinXP上运行了,接下来看看能否对托盘进行兼容处理,使之在XP上也能运行。
以上是关于无法定位程序输入点于动态链接库上,怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
电脑打开后出现“无法定位程序输入点于动态链接库advapi32.dll上”求大侠帮忙解决.....
Windows2008R2无法定位程序输入点于动态链接库kernel32.dll
电脑出现 无法定位程序输入点RpcBindingToStringBIndingW于动态链接库RPCRT4.dll上 是怎么回事望高手回答
电脑出现 无法定位程序输入点RpcBindingToStringBIndingW于动态链接库RPCRT4.dll上 是怎么回事望高手回答