소스 파일의 일부분 만 C 또는 C++ 언어 표준을 적용 할 수 있습니까? 소스 파일이 C90과 호환되는지 확인하려고하지만 C99가 필요한 일부 헤더에 따라 다릅니다. 이러한 헤더의 준수는 당분간 중요하지 않습니다 (당분간 C99로 컴파일 할 수 있습니다).하지만 앞으로는 더 제한적인 플랫폼으로 코드를 이식하는 데 필요한 노력을 최소화하고 싶습니다.소스 파일의 일부분에만 언어 표준을 적용 하시겠습니까?
간단히 말해, 포함 된 헤더를 제외하고 전체 파일에 적용 할 언어 표준을 원합니다. 헤더 포함이 C 및 C++에서 작동하는 방식을 감안할 때 일반적인 문제는 주어진 소스 파일의 임의의 부분에 언어 표준을 적용하는 것이라고 생각합니다.
저는 특히 GCC에서 일하고 있습니다. 다른 컴파일러 (msvc, clang)에서도 가능하면 궁금합니다.
하지만 전체 파일과 관련된 내용, 원본 파일 간의 "상호 작용"및 전체 프로그램에 대한 표준이 있습니다. 소스 코드 파일의 일부가 자체 진공 상태로 존재하지 않습니다. – deviantfan
그 요점은 무엇입니까? –
@EugeneSh. - 표준 준수를 시행하기 위해 컴파일러를 사용하는 것이 아이디어입니다. C90을 따르기 위해 파일의 의존성을 모두 조사 할 수는 없더라도 개발중인 소스 파일이 이전 표준에서 지원되지 않는 언어 구문을 사용하지 않는다고 주장 할 수 있다면 유용 할 것입니다. –