g를 사용한 C 컴파일에 대한 철저하고 자세한 경고 플래그
Gcc는 개발자가 잠재적인 문제를 감지하는 데 도움이 되는 포괄적인 경고 플래그 세트를 제공합니다. 그들의 코드. C에서 철저하고 자세한 경고를 활성화하려면 다음 권장 사항을 고려하세요.
필수 경고:
-
-pedantic: 엄격한 준수 C 언어
-
-Wall: 일반적으로 허용되는 모든 경고를 활성화합니다.
-
-Wextra: -Wall 이상으로 경고 범위를 확장합니다.
-
-Wcast-align: 잘못 정렬된 포인터 감지 Casts.
-
-Wcast-qual: 포인터 유형 한정자의 변경에 대해 경고합니다.
-
-Wctor-dtor-privacy: 클래스 관련 문제 강조 생성자 및 소멸자 액세스 modifiers.
-
-Wdisabled-optimization: 최적화할 수 있지만 그렇지 않은 코드를 식별합니다.
-
-Wformat=2: 형식 지정자 처리 개선
-
-Winit-self: 변수가 컴파일되는 것을 방지합니다. 다시 초기화됩니다.
-
-Wlogical-op: 잠재적인 연산자 우선순위 문제를 감지합니다.
-
-Wmissing-declarations: 변수 선언 누락에 대해 경고합니다. 그리고 기능.
-
-Wmissing-include-dirs: 누락된 포함 디렉터리를 강조 표시합니다.
-
-WnoException: 예외 처리 메커니즘을 권장합니다.
-
-Wold-style-cast: 잠재적인 코드 호환성 식별 문제.
-
-Woverloaded-virtual: 가상 메서드 오버로드에 대해 경고합니다.
-
-Wredundant-decls: 중복 선언을 지적합니다.
-
-Wshadow: 방지 의도하지 않은 변수 섀도잉.
-
-Wsign-conversion: 가능한 부호 변환 오류를 감지합니다.
-
-Wsign-promo: 잠재적인 부호를 강조 표시합니다. 홍보 문제.
-
-Wstrict-null-sentinel: null sentinel 값을 제어하여 코드 안전성을 강화합니다.
-
-Wstrict-overflow=5: 제한 정수 오버플로 수준을 5로 설정 경고.
-
-Wswitch-default: 포괄적인 스위치 문 처리를 보장합니다.
-
-Wundef: 정의되지 않은 변수나 매크로에 대해 경고합니다.
-
-Wno-unused: 사용되지 않는 변수 경고를 제외합니다. 더욱 중요한 문제에 집중할 수 있습니다.
선택적이지만 의심스러운 경고:
-
-Wdisabled-optimization: 차선의 코드를 나타낼 수 있지만 반드시 오류는 아닙니다.
-
-Wfloat-equal: 잠재적으로 다음에 대한 오탐지를 유발할 수 있습니다. 안전한 동일성 비교.
-
-Wold-style-cast: 타사 라이브러리에 잘못된 긍정이 있을 수 있습니다.
-
-Wsign-conversion: 오류를 방지하려면 데이터 유형에 세심한 주의가 필요합니다.
-
-Wsign-promo: -Wsign-conversion과 유사한 고려 사항.
-
-Wswitch-default: 스위치 문 사례를 명시적으로 처리하도록 강제하지만 지루할 수 있습니다.
제외 경고:
이러한 경고는 잠재적인 오탐 또는 제한으로 인해 생략되었습니다. 유틸리티:
-
-Wabi: 다양한 소스의 바이너리 컴파일이 필요합니다.
-
-Waggregate-return: 암시적 데이터 유형을 나타낼 수 있습니다. Conversions.
-
-Wconversion: 무해한 암시적 변환에 대해 경고를 생성할 수 있습니다.
-
-Weffc : 관련 없는 경고로 인해 복잡해질 수 있습니다.
-
-Winline: 모든 인라인 메서드 시나리오에 적용되지 않을 수 있습니다.
-
-Winvalid-pch: 미리 컴파일된 메서드를 사용하지 않는 프로젝트에는 적용되지 않습니다. headers.
-
-Wmissing-format-attribute: 일반적으로 사용되지 않는 GNU 확장이 필요합니다.
-
-Wpended: 클래스 레이아웃을 수동으로 최적화해야 합니다.
-
-Wstack-protector: 스택 보호를 위해 특정 컴파일러 플래그가 필요합니다.
-
-Wstrict-aliasing=3: 다음과 비교하여 제한된 추가 경고를 제공합니다. 더 낮은 수준.
-
-Wswitch-enum: 지나치게 제한적이며 모든 사용 사례에 적합하지 않을 수 있습니다.
-
-Wunsafe-loop-optimizations : 특정 시나리오에서는 허위 경고를 생성할 수 있습니다.
위 내용은 철저한 C 코드 분석을 위해 어떤 g 경고 플래그를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!