2011-03-29 2 views
5

얼마나 많은 사람들이 C++/CLI를 실제로 사용하는지 궁금한가요? 얼마나 많은 사람들이 그것을 사용하고 있습니까? 사람들이 관리되는 환경에서 프로그래머를 찾고있는 특정 작업이 있습니까? C++/cli 주변 커뮤니티는 얼마나 큰가요? 지금까지 내가 보았던 것에서 꽤 많은 구문 변경이 있었는데, 이것은 C++ 프로그래머로서 배워야 할 무언가입니까? 또한, C++/cli, C++. net입니까? 나는 마이크로 소프트에 무지하다.C++/CLI 커뮤니티

답변

5

. 많은 프로그래머가 래퍼 클래스를 작성하는 방법을 알고 있습니다. 즉, 언어가 위대한 것입니다. 그러나 이것들은 기존 코드 기반과 관리 프론트 엔드 간의 격차를 해소하는 일회성 프로젝트입니다. .NET 프레임 워크에서와 마찬가지로 C++/CLI는 System.Data 및 PresentationManager에서 각각 dbase 공급자 및 DirectX와 상호 작용하는 데 사용됩니다.

네이티브 C++ 프로그래밍을 잘 알고 있고 적어도 C#과 같은 것으로 노출되어 CLR의 기본 사항을 알고 있다면 필요한 경우 잠깐 문제를 해결할 수 있습니다. 약 3 주 동안 구문을 빠르게 익히십시오. 마스터 링은 더 오래 걸리지 만 작업을 완료하는 데 항상 필요한 것은 아닙니다.

2

100 % 관리 환경에서 완벽한 고급 기능을 갖추지 못한 경우 관리 코드와 비 관리 코드를 연결하는 데 C++/CLI가 필요합니다. 이는 수많은 제약으로 인해 관리 코드에서 전체 C++ 응용 프로그램을 다시 작성할 수 없기 때문에 시간이 지남에 따라 새 관리되는 코드를 비트 단위로 추가하는 것이 관리 코드를 가져 오기 위해 실제로 마이그레이션하는 방법입니다.

+2

Microsoft에서 제공하는 래퍼가 제공하지 않는 운영 체제 서비스가 필요하거나 (예 : "COM"으로 시작하는 파일 이름에서만 SerialPort 클래스가 작동하는 것처럼 임의의 제한 사항에 열중하는 경우) C++/CLI를 통해 Win32 API를 호출하는 것은 쉽고 타입 안전합니다. p/invoke도 마찬가지입니다. –

3

C++/CLI는 분명히 틈새 시장이지만, 개발자는 일을 찾는 데 어려움이 없을 것입니다. C++/CLI의 목적은 기본 코드와 관리되는 코드 사이의 갭을 줄이는 것입니다. Microsoft Visual C++ 컴파일러는 기본 C++, 관리되는 C++ (CLI) 또는 둘 다를 동시에 컴파일합니다. 성능이 중요한 Interop 시나리오에 유용합니다.

체크 아웃 더 학습에 관심이 있다면

:

아무도 매일 C++/CLI에서 생활 프로그래밍을하지 않습니다 단지에 대한

http://www.functionx.com/cppcli/index.htm

5

"Managed C++"는 Visual C++ 2002에 도입 된 C++ 용 이전 상호 운용성 계층의 이름입니다. 솔직히 말해서, 그것은 매우 끔찍했고 나를 괴롭혔습니다. 나이. 넷을보십시오. Visual Studio 2005의 경우 Managed C++가 C++/CLI로 대체되었습니다. 구문은 실제로는 매우 직관적이며 최종 결과는 정확히 C++처럼 보이지 않지만 읽기 쉽고 C#과 매우 비슷합니다. 내 색상을 돛대에 단단히 고정 시키므로 실제로 사용하는 것이 좋습니다!

C++/CLI의 대부분의 사용 사례에는 네이티브 코드의 래핑이 포함되어 있으며,이를 사용하는 것과 별도로 확장 MAPI 및 Outlook과 관련된보다 실질적인 어셈블리에도 사용했습니다.

C++/CLI의 일상적인 사용 측면에서, 처분 패턴을 구현하는 방법을 자세히 검토하고 싶을 것입니다 (~ /! 구문 조합 참조). 나는 그것이 공유 포인터가 관리되는 클래스에서 멤버 변수로 사용될 수 없다는 것을 짜증나게한다. 그래서 나는 수년 만에 나의 "delete"문장을 작성해 왔지만 실제로는 작은 점이다.

FxCop은 C++/CLI 생성 어셈블리에서 훌륭하게 작동하므로 .Net에 대해 배울 때 확실히 사용해야합니다.

행운을 빈다.

p.s.

엄밀히 말하면, 나는이 질문이 유효한 StackOverflow 질문으로 자격이 있는지 확신 할 수 없지만 흥미로운 주제입니다 ...