문제

Microsoft 컴파일러에서 다른 경고를 비활성화하지 않고 #pragma로 특정 경고를 비활성화 할 수 있습니다. 컴파일러가 "수행 해야하는"것에 대해 경고하는 경우 이것은 매우 유용한 기능입니다.

이 시점에서 GCC에 비슷한 기능이 있습니까? 아직이 기능을 갖지 못할 것으로 예상 할 수없는 충분한 기능처럼 보이지만 웹의 이전 정보는이 기능이 존재하지 않음을 시사합니다.

GCC에서 사용해야 할 것은 무엇입니까?

구체적으로, 나는 'ABC'와 같은 다중 문자 상수를 사용하고 싶습니다. 이는 매우 편리한 기능인 Base 256 번호로 효과적으로 평가하지만 경고를 유발합니다. 케이스 문에서 4 개의 문자열을 전환하는 데 매우 편리합니다.

도움이 되었습니까?

해결책

이것은 GCC로 수행 할 수 있습니다 진단 pragmas.

다른 팁

GCC 매뉴얼에서 :

   Many options have long names starting with -f or with -W---for example,
   -fforce-mem, -fstrength-reduce, -Wformat and so on.  Most of these have
   both positive and negative forms; the negative form of -ffoo would be
   -fno-foo.  This manual documents only one of these two forms, whichever
   one is not the default.

그러나 소스 수준 경고 비활성화가 있는지 묻는 경우 GCC에 해당 기능이 있는지 알 수 없습니다.

-wno-multichar:

멀티 치카 터 상수 ( 'Foof')가 사용되는지 경고하지 마십시오. 일반적으로 구현 정의 값이 있고 휴대용 코드로 사용해서는 안되므로 사용자 코드의 오타를 나타냅니다.

추가 정보.

내부 소스 코드 쓰기 :

#pragma GCC diagnostic ignored "-Wno-multichar"

// code with  warnings but wont be displayed now...
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top