2014-06-30 3 views
-1

내가 리눅스에이 테스트 를 코딩 한 2013방법, 인텔 C C++ 컴파일러

비주얼 스튜디오에 인텔 C \ C++ 컴파일러와 간단한 테스트 프로젝트를 컴파일하기 위해 노력하고있어에서 오류 검사 레벨을 낮출 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 

을 반환 곳 기억력 cks ...이 테스트 응용 프로그램과 나는 시간을 낭비 deallocation 놓치지 문제를 일으키는 싶지 않아요, 나는 인텔 컴파일러를 "심각도"를 낮추는 방법이 있는지 궁금하네요. 그래서 이들을 무시할 수 있습니다. 문제 (gcc와 마찬가지로).

답변

0

Memory Leak 이것은 단지 테스트 용 앱일 경우 무시할 수 있습니다. 그러나

, 어떻게 Uninitalized 메모리 (P6), 잘못된 메모리 액세스 (P4, P5)과 처리되지 않은 예외 (P1)에 액세스 정당화합니까?

테스트 앱이라 할지라도 저에게는 그다지 심각하지 않은 것처럼 보입니다.

+0

하지만 프로그램에는 미리 정의 된 입력이 있으며 Linux gcc에서 컴파일하고 프로그램이 오류없이 실행을 완료합니다. 프로그램에서 gcc를 컴파일하고 실행할 수있는 Linux에서 장황한 문제가 없습니다. – AndreaF

+0

초기화되지 않은 메모리와 잘못된 액세스가있는 경우 프로그램 *이 다음 번에 OK로 실행될 수 있고 * 다음 번에 완전히 실패 할 수 있습니다. 그것은 [** 정의되지 않은 동작 **]입니다. (http://en.wikipedia.org/wiki/Undefined_behavior) – abelenky

+0

나는이 코드를 Linux에서 적어도 100 회 이상 성능 테스트를 위해 충돌없이 실행했습니다 ... 아주 이상하게 들립니다. 또한 입력이 항상 같고 루틴이 항상 동일한 경우 동작이 너무 복잡하지 않습니다. * – AndreaF