我已經編寫了一個win服務器應用程序C.我必須將它編譯爲.dll,並將其作爲32位.dll一臺32位機器,它的工作原理非常漂亮。但是,當我使用cmake工具編譯爲64位,並將相同的代碼放在64位機器上並指定它爲64位編譯時,並且我運行該程序時,它崩潰在釋放一些內存的行上。c應用程序在64位窗口中崩潰,但在32位win服務器上工作正常
我的問題是這是什麼原因造成的?爲什麼編碼完全相同的程序會在64位機器上的64位版本上免費使用內存,而在32位機器上則不會使用32位版本?是贏得32位服務器和贏64位服務器的任何區別。請幫助我在兩種類型的Windows操作系統中獲得內存結構的差異。
版本信息:我使用Visual Studio 2010中,贏得2008 R2
如果您需要幫助而不是猜測,請顯示一些代碼。 – 2013-04-26 07:13:24
你可能寫了一個不可移植的代碼。 – 2013-04-26 07:23:39
這是我期望的通用贏64位內存問題。所以請給我關於贏得32-64位場景之間的區別,這將導致這個問題的想法。 – user1488334 2013-04-26 07:39:17