본문 바로가기

C/Objective C/COM

[제 3강]COM ATL(Active Template Library) 예제 따라하기 - ATL의 특징 ATL(Active Template Library)이란 C++ 템플릿(template)을 사용하여 작성된 클래스 라이브러리로서, 작고 빠르고 확정성을 갖는 COM 컴포넌트를 손쉽게 구현할 수 있게 하는 그 목적이 있다. 따라서, ATL에는 COM 객체를 구현하는데 필수적인 IUnknown, IClassFactory 등의 인터페이스에 대한 코드가 구현되어 있어, 개발자들이 이들 인터페이스를 반복하여 구현하지 않고도 COM 객체의 고유한 서비스를 구현하는 것만으로도 손쉽게 COM 컴포넌트를 생성할 수 있게 한다. - ATL의 장점 ATL의 첫번째 장점은 작고 빠르고 확정성을 갖는 COM 컴포넌트를 만들어준다는 것이다. ATL이 STL(Standard Template Library)의 전통을.. 더보기
[제 2강] COM GUID 생성 예제 따라하기 전역 고유 식별자(Globally Unique Identifier, GUID)는 응용 소프트웨어에서 사용되는 유사 난수이다. GUID는 생성할 때 항상 유일한 값이 만들어진다는 보장은 없지만, 사용할 수 있는 모든 값의 수가 2128 = 3.4028×1038개로 매우 크기 때문에, 적절한 알고리즘이 있다면 같은 숫자를 두 번 생성할 가능성은 매우 적다. GUID는 오라클 데이터베이스 등 많은 곳에서 쓰이지만, 가장 눈에 띄는 구현은 아마도 마이크로소프트의 구현일 것이다. 표준으로는 오픈 소프트웨어 파운데이션(Open Software Foundation, OSF)이 지정한 범용 고유 식별자(Universally Unique Identifier, UUID)가 있다. GUID는 '그위드'라 발음하는데, 이는 .. 더보기
[제 1강] COM dll파일 레지스트리 등록 예제 따라하기 - dll이란? 동적 링크 라이브러리, 줄여서 DLL(danamic-link library)은 마이크로소프트 윈도우에서 구현된 동적 라이브 러리이다. - 첫번째 시간으로 dll을 레지스트리에 등록, dll이 무엇인지 간단히 알고 넘어 가 보자. - dll 파일 밑의 프로젝트를 그냥 실행하면 레지스트리에 등록 되지 않았다고 하며 실행이 될 것이다. 아래와 같이 dll 등록을 cmd 창(관리자 권한 실행 필수)에서 해주게 되면 dll 등록되면서 레지스토리에 남게 된다. 결과... 성공적으로 레지스트리에 등록이 되는걸 볼수 있다. 해당 코드를 실행하면 아래와 같이 실행이 될 것이다. dll을 정상적으로 가져와 작동 시키는 것을 볼 수 있다. 첫장은 기본적인 dll 등록법으로 마무리 되겠다. 더보기