2010-03-29 3 views

답변

4

관리 모드 (C++/CLI)는 주로 레거시 라이브러리를 활용할 수있는 게이트웨이 기능으로 유용합니다. 간단히 말해서, .NET에서 프로그래밍해야하지만 C++ 코드 기반에 대한 액세스가 필요할 때 사용했습니다.

그 자체로는 C#을 통해 C++/CLI를 선택할 이유가 거의 없으며 IDE와 gazillion 도구 (예 : ReSharper)가 더 깨끗하고 현대적이며 더 나은 지원을 제공하며 때때로 가끔씩 수행 할 수도 있습니다 안전하지 않은 키워드를 통해 수준 높은 항목.

C++/CLI는 가장 강력한 .Net 언어로 설계자들에 의해 선전되어 왔지만 (.Net 객체에 대한 완벽한 레거시 브리지와 진정한 RAII 의미 때문에), .NET에서 많은 관심을받지 못했습니다. 커뮤니티.

+0

최근 버전의 C#에는 '사용'키워드를 사용하는 진정한 RAII가 있습니다. –

+0

'사용하기 '는 항상 AFAIK에있었습니다. RAII는 C++ 소멸자/범위 규칙 및 C++/CLI의 자동 처리로'IDisposable'을 자동으로 처리하므로 RAII와 완전히 똑같지는 않지만 C#의'using'은 사용하는 것을 기억해야만 작동합니다. –

1

C++ (현재 버전에서는 C++/CLI)에서 "관리되는"모드를 사용하는 유일한 이유는 .NET 라이브러리에 액세스하는 것입니다. .NET Framework를 사용하거나 .NET 언어와 완벽하게 상호 운용하려면 관리되는 API를 대상으로 삼아야합니다.

네이티브 코드와 관리 코드 간 브리지를 만드는 데 유용하지만 관리 개발이나 C++ 프로젝트에서 .NET 라이브러리를 사용할 수도 있습니다.

관련 문제