2011-05-11 1 views
3

저는 C++ 프로그래밍을 처음 접했습니다 (Java, C# 및 Visual Basic 경험이 있지만). Visual Studio 2010을 사용하여 기본 "Hello World"예제 프로젝트를 만들었지 만 생성되는 샘플 코드를 조사 할 때 C++ 자습서를 볼 때 보게되는 코드와 조금 다릅니다.Visual Studio에서 생성 된 C++ "Hello World"프로젝트가 조금 이상하게 보입니까?

필자의 조사에서 두 가지 버전의 C++ 또는 적어도 두 가지 다른 표준이 있음을 알게되었습니다. CLR 및 CLI라고 생각합니다. 미래에 더 많은 프로그램을 배울 수있는 표준이나 버전은 무엇입니까?

+1

"조금 다릅니다"? 흠, 그게 다 설명해 줬어. – sharptooth

+1

나는이 질문이 아마도 더 나을 것이라는 것에 동의하지만 이것은 적어도 Visual Studio와 같은 Microsoft 제품을 사용할 때 희망적인 새로운 C++ 프로그래머들 사이에 혼란을 야기하는 공통 원인이다. downvotes에 쌓기보다는 질문을 개선하는 것을 시도하십시오. –

+0

@Cody Grey. 답장을 보내 주셔서 감사합니다. 그리고 당신의 태도! – user748233

답변

10

평범한 ISO 표준 기반 C++입니다.이 튜토리얼은 아마도 자습서에서보고있는 종류 일 것입니다. 일반 C++로 Windows 응용 프로그램을 작성하려면 targeting the Win32 API (또는 MFC와 같은 Win32 API의 기본 기능을 래핑하는 클래스 집합을 사용합니다).

C++/CLI 다음은 을 포함하는 완전히 새로운 언어 (C++의 상위 집합 임에도 불구하고)로 간주 될 수 있으며 .NET Framework를 지원합니다. ECMA-372으로 표준화되었습니다. .NET Framework는 CLR에서 실행되므로 CLR과 호환되는 C++ 버전은 "C++/CLI"라고합니다.

아마도 현재 언어의 C++/CLI 변형을 무시하고 싶을 것입니다. .NET 코드와의 상호 운용성 시나리오에서만 유용합니다. 당신이 C++을 배우고 싶어하는 것처럼 보이기 때문에, 여분의 CLI는 혼란스럽게 될 것입니다. C++가 아니라 .NET Framework가 C++ 위에 접목 된 것을 배우고 싶습니다. .NET을 배우려면 C# 또는 VB.NET으로 시작하십시오.

C++과 C++/CLI의 차이점에 대한 자세한 내용은 my answer here에서 확인할 수 있습니다.

+1

C++/CLI는 별도의 ** 표준 ** 언어입니다. 그것은 "확장"이 아니며 독점적 인 것도 아닙니다. – ildjarn

3

c++/cliCLR에 따라 dotNET 기반 언어입니다.

C++가 ISO 표준에 의해 정의되며, 마이크로 소프트의 C와 혼동해서는 안 ++

당신이하는 소프 트 기반 언어로 작업 C#하지 C++/CLI를 배우고 싶다면/CLI

. 대부분의 튜토리얼은 일반적인 C++ 용입니다. C++/CLI보다 훨씬 많이 사용됩니다. Visual Studio는 표준 C++ 또는 C++/CLI와 잘 작동하며 프로젝트를 만들 때 사용할 형식을 선택합니다.

관련 문제