現象
最簡單 `printf("i=%d",5);` 也觸發 `ntdll.dll` 訪問違例,退出碼 0。
可能原因
- 項目類型錯誤:建立為 **「主控台應用程式」** 而非「Windows 桌面應用程式」/「DLL」。主控台專案入口點 `main`,若誤選其他類型導致 CRT 初始化異常。
- 運行庫不匹配:專案屬性 → `C/C++` → `代碼生成` → `運行庫` 選 `多執行緒偵錯 (/MTd)` 或 `多執行緒偵錯 DLL (/MDd)` 需與鏈接的庫一致。
- 安全檢查 (GS)/UAC:嘗試關閉 `緩衝區安全檢查 (/GS-)` 排查。
建議
- **重新建立專案**:`檔案`→`新建`→`專案`→`Visual C++`→`Windows 桌面`→`Windows 主控台應用程式`。
- 優先使用 **VS2019/2022** 社區版,VS2015 已停止主流支援,工具鏈較舊。
- 若必須用 VS2015,確保安裝 **Update 3** 及最新 SDK。