作者 主題: 請問windows 平台 & linux 平台記憶體處理上有差別嗎??  (閱讀 3091 次)

0 會員 與 1 訪客 正在閱讀本文。

shihyu

  • 活潑的大學生
  • ***
  • 文章數: 223
    • 檢視個人資料
我最近寫了一個小程式大約 500 行左右 , 同樣程式碼分別在windows & linux跑
在windows 上用 dev-c++編譯出來執行檔  跑結果正確, linux結果是錯誤

dev-c++ 核心也是gcc 我猜想應該不是編譯器關係 , 應該是平台問題吧
差別的地方在紅色地方 , 好像剛好相反

windows下
記憶體配置圖 : 
A  該空間已使用  該空間佔 : 128KB
B  該空間已使用  該空間佔 : 128KB
C  該空間已使用  該空間佔 : 128KB
D  該空間已使用  該空間佔 : 128KB
E  該空間已使用  該空間佔 : 128KB
F  該空間已使用  該空間佔 : 128KB
G  該空間已使用  該空間佔 : 128KB
H  該空間已使用  該空間佔 : 1KB
   該空間尚未使用  該空間佔 : 1KB
   該空間尚未使用  該空間佔 : 2KB
   該空間尚未使用  該空間佔 : 4KB
   該空間尚未使用  該空間佔 : 8KB
   該空間尚未使用  該空間佔 : 16KB
   該空間尚未使用  該空間佔 : 32KB

I  該空間已使用  該空間佔 : 64KB


我在linux 用gcc 編譯出執行結果跟windows上有點出入


linux 下的

記憶體配置圖 : 
A  該空間已使用  該空間佔 : 128KB
B  該空間已使用  該空間佔 : 128KB
C  該空間已使用  該空間佔 : 128KB
D  該空間已使用  該空間佔 : 128KB
E  該空間已使用  該空間佔 : 128KB
F  該空間已使用  該空間佔 : 128KB
G  該空間已使用  該空間佔 : 128KB
  該空間尚未使用  該空間佔 : 32KB
   該空間尚未使用  該空間佔 : 16KB
   該空間尚未使用  該空間佔 : 8KB
   該空間尚未使用  該空間佔 : 4KB
   該空間尚未使用  該空間佔 : 2KB
H  該空間已使用  該空間佔 : 1KB
   該空間尚未使用  該空間佔 : 1KB

I  該空間已使用  該空間佔 : 64KB

請問這是什麼問題??有人知道原因嗎??

謝謝

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
引用
我最近寫了一個小程式大約 500 行左右 , 同樣程式碼分別在windows & linux跑在windows 上用 dev-c++編譯出來執行檔 跑結果正確, linux結果是錯誤

這只是以哪個平台為主的比較,無所謂正確或錯誤,因為跑出來的數據,除了排列順序不大一樣外,哪裡有問題嗎?如果以 Linux 為主,那麼也可以說 Linux 是正確的,而 Windows 是錯誤的嘍?

系統的記憶體配置方式,本來各平台之間就不一樣,記憶體配置是 Kernel 的工作,跟編譯器沒有太大的關係。