[c++] COM, COM +, DCOM, 시작 위치?


Answers

COM , COM+DCOM 은 완전히 다른 세 가지입니다. 이 시점에서 COM을 배울 이유는 거의 없으며 DCOM을 배울 이유가 거의 없습니다. 내가 생각할 수있는 유일한 이유는 레거시 구성 요소를 유지 관리하거나 통합해야한다는 것입니다. COM +는 구성 요소의 프로세스 호스팅을 벗어나고 분산 트랜잭션 관리와 같은 유용한 기능을 제공하므로 여전히 사용됩니다.

COM을 작성하는 가장 좋은 방법은 ATL 사용하는 것입니다. .NET에서 COM +는 엔터프라이즈 서비스 라고 합니다 .

COM에서 가장 잘나가는 책은 Don Box의 필수 COM 이며 Tim Ewald의 COM + 책 역시 훌륭합니다.

Question

COM +, DCOM에 궁금합니다. MSFT가이 도구를 네이티브 방식으로 사용하는 것을 권장하지 않는다는 사실을 알고 있습니다. 실제로 C / C ++을 사용하면 많은 문서를 사용할 수 없지만 C 프로그램에 Internet Explorer를 포함시키는 등의 기술을 익히고 싶습니다.

아마도이 기술을 사용하거나이 기술에 대해 알고있는 사람들을 찾을 수 있을지도 모른다고 생각했습니다.

어디서 시작하나요? 어떤 아이디어? 모든 예 (Hello World DCOM과 같은)?




Essential COM 은 IDE, 프레임 워크 또는 라이브러리를 사용하지 않고 C ++의 COM 구성 요소를 구현하거나 사용하는 데 특히 유용합니다.

COM은 VB 나 Delphi에서 사용하기가 쉽지 않습니다. 예를 들어 COM 프로그래머가 응용 프로그램 프로그래머에게 COM 특정 접착제를 숨기는 경우가 있습니다. C ++에서는 세부 사항을 추상화하려고하는 클래스 라이브러리를 사용하기도합니다 ... Essential COM 은 이러한 세부 사항이 무엇인지 알려줍니다 (그리고 일종의 자체 라이브러리 / 프레임 워크 구현 방법).




COM은 쉘 익스텐션 (shell extension), 스크립팅 호스트 (scripting host) 등과 같은 다양한 Windows API를 사용하여 작업하거나 확장하고자 할 때 여전히 유용합니다.

Essential COM (Box) 및 ATL Internals (Rector and Sells)는 훌륭한 출처입니다. 효과적인 COM (Box, et al)도 괜찮습니다.

COM에 대한 전체 그림을 정말로 원한다면 엄청난 Inside OLE (Brockschmidt) 사본을 얻으십시오.

분산 COM (Eddon, Eddon)은 COM +의 COM + 기본 서비스 (Eddon, Eddon)와 마찬가지로 DCOM에서도 괜찮습니다.

심지어 일부는 "순수한"C ++ 서적에는 COM에 비트가 있습니다. Matthew Wilson의 Imperfet C ++에는 내부에서 작동하는 방식을 살펴볼 수있는 유용한 부분이 있으며 확장 STL 서적에는 COM을 STL 모음에 적용하는 방법에 대한 몇 가지 장이 있습니다.

COM 서버를 작성하는 방법에 대해 더 알고 싶다면 아마 ATL을 골라야 할 것입니다. 앞서 언급 한 ATL 내부는 필수 항목입니다. 그것의 겸손한 울리는 제목에도 불구하고, 시작하는 ATL COM에는 그것에서 몇몇 유용한 재료가 너무있다.

또한 학습 과정에서 COM과 .NET을 대조하는 데 도움이 될 수 있습니다. .NET 및 COM Interoperability Handbook은 큰 문제이지만 몇 가지 유용한 정보가 포함되어 있습니다. 또한 Shared Source CLI Essentials를 확인하여 두 가지 기술을 비교하는 데 도움이됩니다.

HTH




Links