看板 C_and_CPP 關於我們 聯絡資訊
※ [本文轉錄自 C_Sharp 看板 #1FmlAaX0 ] 作者: advance760 (生命的祝福) 看板: C_Sharp 標題: [問題] 2010 C#引用C++ dll在XP上會出錯 時間: Mon May 28 11:35:59 2012 因為有用VC 2010寫好一個dll檔 丟給C#2010用 在win7上都可以跑沒問題 唯獨在xp上都不能跑 執行到外部dll函式時都會出現 記憶體已損毀的例外狀況 然後win7跟XP都試了幾台 XP的電腦編譯完執行時都會發生同樣錯誤 這是什麼原因呢 還是VS2010和XP不相容 但是我查了很久 也沒看到說VS2010不能在XP跑的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.195.219 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: advance760 (140.118.195.219), 時間: 05/28/2012 11:36:57
damody:請問你查了很久後有什麼方法不行? 05/28 11:39
damody:我怕回答的都是你試過的方法 05/28 11:40
EdisonX:(在想,會和編譯環境之os有關嗎?我會試試在xp下編dll..) 05/28 12:00
damody:作者還在嗎? 補充一下樓上的答案只是 for c++.net 05/28 21:29
我是MSDN搜尋這種例外狀況 不過看完後都沒提到win7根XP的相關性 另外這程式 DLL檔 和 C#程式碼都有在XP底下重新編譯過(WIN7和XP都是安裝VS2010) 但執行到DLL的函式時 都會出現嘗試寫入受保護的記憶體 這通常表示記憶體已損毀 再把XP編譯完不能跑的程式丟回WIN7....一樣可以跑出正確結果 ※ 編輯: advance760 來自: 1.162.3.143 (05/28 22:34)
meconin:Redist? 05/29 11:41
advance760:試過了 應該不是那個問題說 05/29 22:36