경고를 Microsoft Visual C++ 컴파일러를 사용하여 최상위 레벨로 설정하고 싶습니다. gcc에서 -pedantic을 사용하는 것과 비슷합니다. 가장 많은 경고를 사용하려면 어떤 컴파일러 스위치를 사용합니까?Microsoft의 Visual C++ 컴파일러를 사용할 때 gcc에 -pedantic과 동일한 기능이 있습니까?
6
A
답변
8
Visual C++에서 가장 높은 경고 수준은/Wall입니다. 경고 수준은/W0,/W1, .../W4를 사용하여 숫자로 설정하여 경고 수준을 높일 수도 있습니다.
컴파일러는/Wp64와의 64 비트 이식성 문제도 확인합니다.
그리고 당신과 오류로 경고를 치료하기 위해 그것을 말할 수/WX
C++는 -pedantic에 실제 해당이 보이지 않는 시각 -에 의해보고하는 데 필요한 모든 경고를보고 GCC를 요구하고있다 ISO C 및 C++ 표준.
1
/W4 /Wall
트릭을 수행해야합니다.
2
가능한 경우 64 비트 플랫폼 용으로 직접 컴파일하는 것과 달리/Wp64는 Microsoft에서 권장하지 않습니다.
또한 Team Developer Edition에는/code 옵션이있어 일반적인 코드 오류에 대한 의미 검사가 추가됩니다. 추가적인 의미 론적 검사를 위해 gimpel에서 PC-lint를 얻는 방법을 살펴볼 수도 있습니다.
4
billmcc64 mentioned gcc의 -pedantic은 비표준 확장명을 사용하면 gcc가 경고하도록합니다. MSVC에서 유사한 상황에 대해 경고 할 수는 없지만/Za 옵션을 사용하여 이러한 상황에 대해 오류가 발생할 수 있습니다.
2
-pedantic과 같은 것을 원하면 pc-lint (http://www.gimpel.com/html/products.htm)와 같은 좋은 보풀을 사용해보십시오.
올바른 정보는 가능하면/Wp64 옵션을 사용하는 것보다 64 비트 플랫폼에서 직접 컴파일하는 것이 더 바람직하다는 것입니다. –
예; 더 구체적으로/Wp64는 잘못된 경고를 내고 64 비트 용으로 직접 컴파일하는 것과 비교하여 적절한 경고를 제공 할 수 없습니다. – Nick
재미있는 부분은/Wp64를 사용하지 않고 64 비트 용으로 컴파일하면 경고없이 포인터를 왼쪽 및 오른쪽으로자를 수 있다는 것입니다. – bk1e