문제
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...
제휴하지 않습니다 StackOverflow