-1
我試圖編譯英特爾C \ C++編譯器進行簡單的測試項目上的Visual Studio 2013年如何降低錯誤檢查水平,英特爾C C++編譯器
我已經編寫這個測試在Linux上,其中GCC編譯的代碼沒有任何錯誤,和應用程序運行正常,但在VS 2013英特爾編譯返回我這些錯誤
ID Type Sources Modules Object Size State
P1 Unhandled application exception source.c MyTest.exe Not fixed
P2 Memory leak source.c MyTest.exe 23984 New
P3 Memory leak source.c MyTest.exe 19980008 New
P4 Invalid memory access source.c MyTest.exe Not fixed
P5 Invalid memory access source.c MyTest.exe Not fixed
P6 Uninitialized memory access source.c MyTest.exe Not fixed
這似乎是由事實我不取消分配以前的一些分配造成的內存blo cks ...因爲這是一個測試應用程序,我不想花費時間來查找錯過的重新分配會導致問題,我想知道是否有辦法降低intel編譯器的「嚴重性」,以便它可以忽略這些問題(和gcc一樣)。
但該程序有一個預定義的輸入和在linux上的gcc編譯和程序完成執行沒有任何錯誤。在Linux下使用gcc無論如何都不會遇到嚴重的問題,程序可以編譯並運行 – AndreaF
如果您有未初始化的內存和無效訪問,您的程序*可能*此時運行正常,並且下次可能*失敗。它是[**未定義的行爲**](http://en.wikipedia.org/wiki/Undefined_behavior) – abelenky
我已經在linux上運行這個代碼至少100次以進行性能評估,沒有任何崩潰......聽起來很奇怪。另外,如果輸入始終是相同的,並且例程始終是相同的,那麼行爲就不是這樣*未定義* – AndreaF