關於 Windows 下批處理的問題?

我在 NOIP 某模擬賽時使用了批處理的方法對拍數據,我的方法是數據生成器通過讀 config 文件得到一個數字,數據生成器向 in 生成數據,再運行比賽程序得到我的輸出。

但是發現當 config 文件內數據為 43427 時我的程序可以運行,大於等於 43428 時程序沒有輸出,ERRORLEVEL -1073741571。但是 43428 時我將 in 文件複製到剪切板,使用標準輸入程序可以運行,ERRORLEVEL 0。

請問這個問題大家遇到過嗎?這個問題是如何產生的?如何解決?

bat文件:Ubuntu Pastebin

b_data.exe源碼文件:Ubuntu Pastebin

b.exe源碼文件通過了評測,源碼文件:Ubuntu Pastebin

系統 win7 x64


一個int32_t的-1073741571 強轉成uint32_t可以獲得c00000fd,which is stack overflow。

總而言之,你的程序堆棧溢出了,不要怪批處理。有可能是因為環境的影響導致你起來的對戰尺寸跟雙擊的時候不一樣,這個你自己去調試。


推薦閱讀:

win10的cortana為什麼不和我聊天了?
如何看待win10推送微軟小娜?
如何更好的使用Windows 10上的Cortana(小娜)?
SSD移動小文件很慢,大文件速度挺快,而且運行matlab速度非常慢,同樣版本比同學HDD都慢?
如何優雅地調戲 Cortana?

TAG:MicrosoftWindows | 批處理 | NOIP | ACM競賽 |