COM, ATL

Com, Atl 언어 독립성에 대한 소고

디버그정 2008. 7. 26. 21:26
가끔 com에 대한 기본 개념 글들을 읽어보면 따라쟁이, 앵무새처럼 주절거리는 게 많다.....

위치독립성에 대해 적은 대다수 글들을 보면 "com은 바이너리형태로 이루어지면서
이를 통해 위치독립성을 가지게 된다..."

이글을 처음 보고 한참 혼란스러웠다... 당연히 그 글을 적은 사람도 더 이상의 설명은 없다.
기본원리, 개념에 대해 조금이라도 불만족스러우면 짜증나지 않는가?
나 역시 그런 사람이다. ㅡㅡ

컴파일 언어에서 모든 소스 파일은 컴파일 과정을 거치면 모두 바이너리로 변한다.
그런데 바이너리로 언어독립성을 가진다니....거 참 혼란스럽지 않을 수 없다.

한참을 생각한 결과 다음과 같은 결론을 내릴 수 있었다.

소스 제공의 측면에서 표현한 것이다.

컴포넌트에서는 로딩 모듈인 dll, exe, ocx 화일과 idl만 있으면 어떤 언어에서든지
프로그래머 임의대로 사용할 수 있다.  텍스트 형식의 cpp나 헤더 화일을 제공하는 게 아니라
위 바이너리 파일을 제공한다는 측면에서 저렇게 표현하고 있는 것이다.

다른,,, 가령 비주얼 c++ 프로그램의 경우 소스코드인 cpp, h, 리소스 파일등을 모두 제공해야
사용할 수 있음과 비교해 보면 된다.