Programing

-std = c ++ 11과 -std = gnu ++ 11의 차이점은 무엇입니까?

lottogame 2020. 7. 20. 20:36
반응형

-std = c ++ 11과 -std = gnu ++ 11의 차이점은 무엇입니까?


의 차이점은 무엇입니까 -std=c++11-std=gnu++11GCC와 그 소리에 대한 컴파일 매개 변수는? 와 같은 질문 c99gnu99? C ++ 및 C 표준에 대해 알고 있으며 관심있는 매개 변수의 차이점입니다.

나는 그것이 어떤 확장과 관련이 있는지 어딘가 읽었지만 새 프로젝트를 위해 어느 것을 선택하고 다른 것을 선택하는 방법은 분명하지 않습니다.


스스로 알게 된 것처럼 두 옵션의 차이점은 C ++ 표준을 위반 / 확장하는 GNU 확장이 활성화되어 있는지 여부입니다. GNU C ++ 확장은 여기 에 설명되어 있습니다 . C ++ 프로그램에서 대부분의 GNU C 확장 ( 여기 에서 설명 )을 사용할 수도 있습니다 . 여기 에서 -WpedanticGCC 옵션 에 대해 읽는 것도 유용합니다 .

일부 확장은 -std=c++11표준을 위반하지 않는 한을 사용할 때 여전히 유효 할 수 있습니다 . 예를 들어 MinGW 컴파일러를 사용할 때 working 확장을 필요로합니다 Boost.Lexical_Cast. 그러나 어떤 것도 사용하지 않는 한 최대한의 휴대 성을 위해 확장 기능을 사용하지 않고 표준을 고수하는 것이 좋습니다. 컴파일러를 변경 해야하는 경우 유용합니다.

참고 URL : https://stackoverflow.com/questions/10613126/what-are-the-differences-between-std-c11-and-std-gnu11

반응형