는 다음의 코드를 고려 경우GCC가 해상도 손실에 대한 경고를 생성하지 않는 이유는 무엇입니까?
long long someVar64 = 0LL;
int someVar32 = someVar64;
그것은 잠재적 버그가 64 비트 값의 비트 손실이 발생하는 32 비트 값에 할당되고 여기에있어 명백한 아니다. 이 경우 우리는 0의 상위 비트를 신경 쓰지 않기 때문에 괜찮습니다.하지만 상수를 변경하면 쉽게 버그를 만들 수 있습니다.
GCC (4.4.3)가이 코드에 대한 경고를 생성하지 않는 이유는 무엇입니까? 이전 버전에서는 익숙한 점을 기억합니다.
가 명시 적으로이 경고'-Wconversion'을 가능하게하려고 했습니까? –
GCC를 호출하기 위해 어떤 플래그를 사용할지 지정하지는 않지만 최소한 -Wall을 시작점으로 사용해야합니다. –