2012-05-22 4 views
2

VS 2010을 사용하고 있습니다. C++ 대신 컴파일러 C 코드의 설정을 변경했습니다. 그것은 잘 작동하지만 문제는 MS 컴파일러는 C99 표준을 지원하지 않기 때문에 이런 이유로 VS 10에서 작동 할 수있는 C 컴파일러를 찾고 있습니다. 어떻게해야합니까? 미리 감사드립니다.VS 컴파일러를 변경하는 방법은 무엇입니까?

+0

C99의 어떤면이 필요합니까? AFAIK 일부 ​​측면 *은 VS 2010 컴파일러에서 구현됩니다. – 0xC0000022L

+0

글쎄, 사물들 :'/','for (int i = 0; ..)'및'enum {A, B} char * foo [] = {[A] = "..", [B] = "$ .."};'(나는 이것을 사용하는 많은 코드를 가지고있다). 솔루션은 실제로 VS의 기본 컴파일러를 바꿀 수 없으면 C99를 실제로 지원하는 컴파일러에서 마이그레이션됩니다. 맞습니까? – Jack

답변

2

MS Visual Studio는 c99를 지원하지 않지만, certain features은 c99를 구현했습니다. 이 Microsoft page에서

, C99 지원을위한 그들의 응답 : 사용자에 의한

질문 :

"나는 Visual Studio에서 사용할 수 C99 지원을보고 싶다의 양. C99 지원을 추가하는 작업은 C++ 0x와 비교하여 창백해야합니다.

지배적 인 PC 플랫폼 용 컴파일러로서 Microsoft는 실제로 은 C 커뮤니티가 C# 또는 C++ 커뮤니티보다 클 것이기 때문에 특히 10 년이 넘은 표준 인 을 구현하는 것이 더 힘듭니다. "

마이크로 소프트의 응답 :

"불행하게도 1) C 컴파일러가보다 컴파일러 ++은 Microsoft C의 많은, 더 많은 사용자가있다; 2) 언제 우리가 고객 피드백을 요청하거나 피드백을 요청하는 경우 우리는 C++ (특히 C++ - 0x)에 초점을 맞추어야 함 3) 우리는 단지 에 우리가 원하는 모든 것을 할 수있는 자원이 없다는 것입니다. 그래서 우리는 은 천천히 C-99 지원을 개선하고 있습니다. (우리는 C-1x 토론에서 적극적입니다.) 이러한 기능을 추가 할 것이라고 약속 드릴 수는 없습니다. "

+0

그러나 예를 들어 MSC를 'gcc'로 변경할 수 없습니까? – Jack

+0

MSC는 모든 c89를 지원하지만 제한된 c99 기능을 지원합니다. 그래서 당신은 그렇게 할 수 없습니다. 그렇지 않으면 최신 gcc (c99 또는 c11) 기능을 사용할 때 문제가 발생할 수 있습니다. –

관련 문제