1樓:匿名使用者
今天同事在windows xp系統上執行程式遇到這樣乙個錯誤:
我試了一下,在win7上執行則沒有這個錯誤。只是程式執行出錯,**編譯是沒有問題的。初步分析了一下,大致明白了問題了根源。
問題的根源在於程式的exe或者其底層庫鏈結了乙個錯誤的msvcrt.dll。其實微軟提供的vc執行時庫是有很多版本的。
為什麼需要這麼多的執行時庫?原因很多,主要有下面兩個:一是為了不同的處理器廠商和硬體架構,比如amd和intel,比如x86和x64等等;二是為了適配不同vs版本,比如vs2003、vs2005、vs2008等等,即使同是vs2008,vs2008和vs2008+sp1的執行時庫都是不一樣的。
因此msvcrt.dll在xp系統和win7系統都是不一樣的,具體到這個錯誤是_ftol2函式在xp系統和win7系統所處的函式位址是不一樣的。
如上所述,要解決這個錯誤就必須找到到底哪個底層庫鏈結了錯誤的msvcrt.dll。這次我採用的乙個笨辦法是使用depends開啟exe程式,然後乙個個地查詢其依賴庫,最後找到乙個opengl32.
dll,其檢視如下:
從上圖可以看出opengl32.dll所依賴的msvcrt.dll呈現紅色警告,可以看出opengl32.
dll所鏈結的msvcrt.dll並不對。後來我檢查了一下,exe所在目錄下有opengl32.
dll,把它刪掉後程式所用的應該是作業系統目錄下的opengl32.dll,這樣程式能順利啟動了。
單純靠depends開啟exe程式分析它的依賴庫是否存在錯誤鏈結的問題這種做法效率無疑有點低,特點是當乙個程式的依賴庫特別多的時候。我想到的乙個可以提高效率的做法是寫乙個程式通過獲取exe的依賴庫表,然後逐個進行動態載入(即呼叫loadlibrary函式),一旦載入時出現無法定位程式輸入點的錯誤,即可判斷該庫存在鏈結的錯誤。
2樓:愛電腦
檔案已上傳
一、解壓後直接拷貝該檔案到系統目錄裡:
1、windows 95/98/me系統,複製到c:\windows\system目錄下。
2、windows nt/2000系統,複製到c:\winnt\system32目錄下。
3、windows xp/win7/vista系統,複製到c:\windows\system32目錄下。
4、如果您的系統是64位的請將檔案複製到c:\windows\syswow64目錄
二、開啟"開始-執行-輸入regsvr32 msvcrt.dll",回車即可解決。
小技巧:如果無法進入桌面,可以啟動安全模式或者使用pe啟動電腦,然後修復。
【重要】:一定要選擇與系統版本一致的dll才可以
msvcrt.dll無法定位、丟失、找不到、載入失敗 等問題的修復
無法定位程式輸入點於動態鏈結庫 msvcrt.dll上
3樓:匿名使用者
是不是安裝的地方不對,或者資源不相容
msvcrt.dll(名稱:microsoft c runtime library)提供了printf,malloc,strcpy等c語言庫函式,並且為使用c/c++(vc)編繹的程式提供了初始化(如獲取命令列引數)以及退出等功能.
直接拷貝該檔案到系統目錄裡:
1、windows 95/98/me系統,則複製到c:\windows\system\ 目錄下。
2、windows nt/2000系統,則複製到c:\winnt\system32\ 目錄下。
3、windows xp系統,則複製到c:\windows\system32\ 目錄下。
程式的話,嘗試使用相容模式和管理員許可權執行遊戲試試,操作:程式上→屬性→相容性→勾選上 使用管理員許可權執行 同時 使用xp sp3 的相容模式。
無法定位程式輸入點 於動態鏈結庫上怎麼辦
4樓:星願下的期盼
1、直接開啟相關視窗,選擇百寶箱進入。
2、這個時候彈出新的介面,需要點選電腦醫生跳轉。
3、下一步如果沒問題,就根據實際情況搜尋對應的處理方法。
4、等完成上述操作以後,繼續確定立即修復。
5、這樣一來會得到圖示的結果,即可達到目的了。
安裝程式無法建立新的系統分割槽,也無法定位現有系統分割槽
褲檔撕了 網上找來的,兩種方法。你挨個試試。第一種方法 先格式化一下你要裝的那個盤,然後,拔出u盤,啥也別動,只拔出u盤究行,再裝上u盤,然後重新整理一下 選硬碟那裡的高階選項中有格式化和重新整理 再選擇要安裝的硬碟點下一步,ok了,可以正常安裝了 第二種方法 解決步驟 第一步 把win7映象發在你...
安裝win7時安裝程式無法定位現有系統分割槽也無
褲檔撕了 網上找來的,兩種方法。你挨個試試。第一種方法 先格式化一下你要裝的那個盤,然後,拔出u盤,啥也別動,只拔出u盤究行,再裝上u盤,然後重新整理一下 選硬碟那裡的高階選項中有格式化和重新整理 再選擇要安裝的硬碟點下一步,ok了,可以正常安裝了 第二種方法 解決步驟 第一步 把win7映象發在你...
vivo手機無法定位是怎麼回事
平安喜樂 原因如下 1 手機沒有開啟gps定位。2 所在環境的網路訊號不好。3 軟體未獲取到定位許可權。步驟如下 2 所在環境的網路訊號不好 可以更換網路或環境試試 即更換乙個地方試試 vivo手機出現無法定位的情況,可以按以下方法解決 一 確認手機是否開啟定位功能,進入手機設定 定位服務 開啟定位...