2010-08-12 1 views
10

WPF 응용 프로그램은 핵심 관리 응용 프로그램입니까? Right? 그래서 관리되는 C++ 또는 관리되는 C#을 사용해야합니다. 나는 수년 전에 C++로 실험했다. 그것은 황금 시간 동안 아주 준비가되어 있지 않은 것처럼 보였다. Microsoft는 관리되는 C++에 비해 관리되는 C++에 더 많은 노력을 기울였습니다. 그래서, 관리 C#을 사용하는 것 같아요 둘 사이의 최고의 대안입니다. 이 경우인가요? WPF를 사용하여 어떤 언어로 어떤 경험을 했습니까? 미리 감사드립니다.WPF 응용 프로그램을 C++/CLI 또는 C#으로 작성해야합니까?

답변

13

Managed C++는 C++/CLI로 대체되었으며 "managed C#"은 C#입니다.

새 프로젝트에 C#을 사용하고 필요할 때만 C++/CLI를 사용하는 것이 좋습니다. C#은 더 나은 지원을 제공하고 더 큰 사용자 기반을 가지며 Visual Studio 2010 내부에서보다 쉽게 ​​작업 할 수 있습니다.

또한 C++ 및 C++/CLI는 두 가지 다른 언어입니다. 첫 번째 .Net 프로젝트의 경우 C++/CLI를 선택했는데 C++을 이미 알고 있었기 때문에 매우 좋지 않았습니다. C++에서 C++/CLI 로의 학습 곡선은 C++에서 C#을 학습하는 것과 유사합니다. 그 함정에 빠지지 마십시오. .

1

백엔드 측면에서 보면 둘 다 CLR에서 실행되며 두 가지 작업을 모두 수행 할 수 있습니다. 실제로 그것은 당신이 가장 편안하게 느끼는 것에 이릅니다. 확실하지 않은 경우 두 가지를 모두 시험해보십시오. 가장 생산성이 좋은 것을 사용하십시오.

편집는 :

불과하지만 나에게 지적 한 바와 같이

, ++ WPF 템플릿 (그리고 어쩌면 인텔리)에 대한 지원은 단지 C에 대한가없는 것 같다. 그래서이 경우에는 C#을 추천해야 겠군.

+1

사실 : Visual Studio에는 C# 및 VB.NET에서 WPF 개발을 지원하지만 C++/CLI에서는 지원하지 않는 IDE 기능이 있습니다. 그리고 다음이 있습니다 : http://stackoverflow.com/questions/2681999/no-intellisense-for-c-cli-in-visual-studio-2010 –

+0

내 관심을 가져 주셔서 감사합니다. 지원이 부족하다는 것을 알지 못했습니다. – nukefusion

1

C#이 가장 많이 사용되므로 문제가 있으면 C#에 대한 온라인 지원이 더 있습니다. C#은 Microsoft에서 더 나은 지원을 제공합니다. 전반적으로 더 완성 된 제품입니다. 네가 정말로 신경 쓰지 않는다면 나는 C#으로 갈거야.

+1

사실이 아닙니다.C++/CLI *는 특히 C++ 0x 사양과 C++ 헤더 전용 템플릿 라이브러리를 사용할 수있는 훌륭하고 훌륭한 제품입니다. 그러나 그것은 거의 일자리를위한 올바른 도구입니다. –

+0

저는 C++이 기본 레벨에 자주 도달해야하는 게임에서 더 좋다고 생각합니다. WPF는 정확한 oposite를 수행하려고 시도하고 있습니다. '그리기에서 벗어나서 내가 당신을 위해 모든 것을 할 수 있도록해라.' C#은 그 개념에 더 잘 맞습니다. –

2

백엔드에는 managed C++를 사용할 수 있지만 검사시 VS (C++ 또는 WP) 응용 프로그램 용 내장 템플릿이 없습니다.

나는 일 수 있다고 확신하지만 원한다면 작동하도록 강요하지만 C#을 사용하는 것이 좋습니다.

4

C++/CLI는 관리되지 않는 코드 (즉, 기본 C/C++)와 관리되는 코드 사이에 interop 계층을 작성하는 것을 지원하기 위해 실제로 만들어졌습니다. "무거운 짐을 싣기"위해서는 C# (또는 VisualBasic.NET)을 사용해야합니다.

1

IMO 의심의 여지없이 C# (또는 VB/F #).

관리되는 세계와 C++ 라이브러리의 경계를 넘을 때 C++/CLI가 유용합니다. 복잡한 언어는 관리 언어와 관리되지 않는 언어를 결합한다는 사실 때문에 미묘한 문제가 발생하지만 더 높습니다.

C++/CLI에서는 컴파일 시간이 더 길지만 특히 C# 컴파일러가 C++ 컴파일러의 작동 방식에 맞지 않는 방식으로 모델을 모델링했기 때문에 컴파일 시간이 길어졌습니다.