다들 C컴파일할 때 어떤 GCC플래그를 쓰시나요?


제가 아는건 -Wall, -std=XXX 정도입니다.. warning이나 warning을 error로 바꿔주는 플래그를 알고 싶은데 구글에 쳐보니까 다 영어라서 알아들을수가 없어요ㅠㅠ

warning이 아니더라도 다른 플래그도 알려주시면 좋구요

  • 2016년 02월 02일에 작성됨

조회수 347


1 답변


좋아요
0
싫어요
채택취소하기

GCC 경고 flag

플래그 설명
-Wextra, -Wall 기본
-Wfloat-equal 부동 소수점에 ==, != 연산하는 걸 경고해줍니다
-Wundef if문 안에 초기화하지 않은 식별자가 있는 걸 경고해줍니다
-Wpointer-arith void의 크기나 함수의 크기를 갖고 연산을 하는 경우 경고해줍니다
-Wcast-align 포인터를 더 큰 타입으로 형변환 할 때 경고해줍니다(char *를 int *등으로 캐스팅 하는 경우)
-Wstrict-prototypes 인자 타입을 정하지 않고 함수를 선언/정의하는 경우(old style) 경고해 줍니다
-Wstrict-overflow=5 컴파일러가 signed오버플로우가 일어나지 않을거라 가정 하고 최적화를 진행하는 경우 경고해줍니다
-Wwrite-strings constant 스트링을 non-const char* 포인터에 카피하는 경우 경고해줍니다
-Waggregate-return struct나 union을 return하는 함수를 정의하거나, 호출 하는 경우 경고해줍니다
-Wcast-qual 포인터를 형변환 할 때 기존 type qualifier가 사라지는 경우 경고해줍니다(const char*을 char*로 형변환)
-Wswitch-default switch문에 default지정이 없는 경우 경고해줍니다
-Wswitch-enum switch문이 enum타입의 인덱스를 받을 때 enum의 멤버 갯수와 case갯수가 맞지 않는 경우 경고해줍니다
-Wconversion 묵시적으로 타입을 변환하는 상황에서 값이 바뀔 가능성이 있는 경우 경고해줍니다(int temp = 0.3 등)
-Wunreachable-code 컴파일러가 절대 실행되지 않을 코드를 찾아낸 경우 경고해줍니다
  • 2016년 02월 02일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close