2011-12-15 4 views
1

현재 C++/CLI 프로젝트를 통해 네이티브 C++ 라이브러리와 통신하는 .NET 프로젝트를 작업 중입니다. 그러나이 프로젝트를 진행하면서 재사용 성 및 확장 성을 유지하면서 가능한 한 최소한의 추가 구현으로 네이티브 C++ 코드의 특정 모듈을 공개 할 수 있기를 바랍니다.C++/CLI vs COM - 어떤 것이 더 낫습니까?

두 가지 용도에 대한 연구를 해봤지만이 목적을 해결하는 데 더 좋은 방법은 없습니다. 누군가이 시나리오에 가장 적합한 접근 방법을 설명 할 수 있습니까?

+1

전에 COM 서버를 작성한 적이없는 것 같습니다. 하나를 쓰면 알 수 있습니다. ATL과 Visual Studio에 내장 된 마법사를 사용하여 전투의 기회를 얻으십시오. –

+1

C++ Cli가 확실히 승자입니다. –

+0

또 다른 옵션은 C++/C#과 SWIG입니다. 크로스 플랫폼으로 유지하려면 –

답변

2

.NET 용 네이티브 C++ 코드를 래핑하려면 C++/CLI를 사용하십시오. 간단한 C 스타일 API의 경우 PInvoke를 사용할 수 있습니다.

.NET 및 COM 클라이언트 (예 : Internet Explorer, MS Office, 스크립팅 언어 등)에 네이티브 C++ 코드를 모두 포장하려면 COM을 사용하십시오.

내 의견으로는 COM 래퍼를 작성하는 것은 더 복잡한 작업입니다. 그러나 COM 전문가는 다른 의견을 가질 수 있습니다. 이러한 기술에 대한 귀하의 경험에 달려 있습니다.

+0

C++/CLI와 COM 간의 성능이 좋습니까? –

관련 문제