본문 바로가기

Programming267

Chapter 3. 인터페이스 *이 포스팅은 개인 학습을 위해 내용을 정리한 것이 목적입니다. *인터페이스 : COM에 있어서 클라이언트들이 COM자신에게 접근 가능한 통신채널을 제공하는 것 1. 개략적인 인터페이스 - DLL에 대한 인터페이스 : DLL에 의해 노출되는 함수들의 집합 - 클래스에 대한 인터페이스 : 클래스 멤버들의 집합 - COM인터페이스 : 변화에 의한 손상으로부터 시스템을 보호할 수 있고, 다른 컴포넌트에 대해 클라이언 트가 동일한 방법으로 접근할 수 있도록 함. COM인터페이스는 함수에 대한 포인터들의 배열을 포함하는 특정한 메모리 구조. - C++에서 COM 인터페이스 구현 이진 표준을 따르기 위해 추상 기본 클래스를 이용하여 인터페이스를 만들고, 하나의 컴포넌트는 여러개 의 인터페이스를 제공할 수 있으므로,.. 2014. 10. 27.
Chapter 2. COM개요 *이 포스팅은 개인 학습을 위해 내용을 정리한 것이 목적입니다. 1. COM의 개요 과거 소프트웨어 개발의 문제점 중 하나가 유지보수. 이를 해결하기 위해 프로그램의 모듈화가 대두됨. 유지보수 문제 외에도 다음과 같은 문제가 있음. i) 단일 소프트웨어에서의 크기 증가시, 개발/유지/보수가 어렵다는 문제가 있음. 그에 따라 DLL이 사용되었다. 그러나 DLL을 공유하는 소프트웨어의 경우 DLL버전이 다를 경우 프로그램 수행에 치명적인 문제가 발생한다. ii) 같은 C++로 구현하여도 다른 회사의 컴파일러에서는 호환되지 않음. (이진 표준의 부재) iii) 소프트웨어의 경우 하드웨어처럼 유연성을 가지고 있지 못함 iv) 윈도우용 소프트웨어는 윈도우에서만 사용가능. 그러나 사용자는 모든 플랫폼에서 실행되는 .. 2014. 10. 27.
chapter 1. COM을 위한 기초클래스 *이 포스팅은 개인 학습을 위해 내용을 정리한 것이 목적입니다. 1. 구조체와 클래스 *인터페이스 : 서로 다른 객체를 연결하는 연결고리 -인터페이스 키워드 #define interface struct * COM규약에서 정한 하나의 규정 이진 표준을 따라야 함 -> 이진표준을 따르기 위해서는 메모리 맵에서의 데이터 정렬이 중요함. 1) C에서의 구조체 선언 다음과 같은 구조체가 있다고 가정해보자. struct xy { char c; int x; int y; } 위 내용은 간단히 표현하면, 메모리에 다음과 같이 적재될 수 있다. 1byte 2byte 3byte 4byte xy::c xy::x xy::y xy::c의 주소를 알 수 있다면, xy::x, xy::y의 주소는 도출 가능하다. (VC++기준). 그.. 2014. 10. 24.
Chapter 9. 알고리즘 *이 포스팅은 개인 학습을 위해 내용을 정리한 것이 목적입니다. 9.1 알고리즘 사용시 필요한 헤더 파일 - : min(), max(), swap(), iter_swap() - : 수치처리 - : 함수객체나 함수어댑터 9.2 알고리즘에 대한 전반적인 소개 9.2.1 알고리즘에 대한 간단한 소개. -모든 알고리즘은 하나 이상의 범위에 대해서 원소를 처리한다. 범위에 대해 유효함을 보장하여 야 한다. -알고리즘을 보다 강력하고 유연한 사용을 위해 사용자 정의 조건자를 허락한다. 1)사용자는 함수나 함수객체를 단항조건자의 형태로 검색 알고리즘의 기준으로 사용가능 2)사용자는 함수나 함수객체를 이항조건자의 형태로 정렬 알고리즘의 기준으로 사용가능 3)사용자는 함수나 함수객체를 단항조건자의 형태로 특정원소에 대해.. 2014. 10. 24.
Chapter 8. STL함수-객체 *이 포스팅은 개인 학습을 위해 내용을 정리한 것이 목적입니다. 8.1 함수-객체의 개념. -함수 객체는 ()연산자를 정의한 객체임. -함수객체의 3가지 장점 1) 함수객체는 상태를 가질 수 있다. 같은 함수 객체에 대해 동시에 다른 상태를 가질 수 있음 2) 각각의 함수 객체는 자신만의 타입을 가지므로, 함수 객체의 타입을 템플릿의 인자로 제공가능함. 3) 함수객체는 함수포인터보다 빠르다. 8.1.1 정렬 기준으로서의 함수객체 특정 클래스에 대해 정렬하여 가지고 있는 컨테이너가 필요할 수 있다. 이 경우 특정 클래스에 특정한 정 렬 기준을 적용하여 가지고 있으려면 함수 객체를 사용하면 된다. 예제) class Person{ private: string fn; string ln; public: expli.. 2014. 10. 24.
Chapter 7. STL반복자 *이 포스팅은 개인 학습을 위해 내용을 정리한 것이 목적입니다. 7.1 반복자의 헤더파일 역방향 반복자 같은 특별한 반복자는 안에 있음. 그 외에는 컨테이너에 포함 7.2 반복자 카테고리 *반복자 카테고리의 기능 카테고리 기능 제공자 입력반복자 전방향 읽기 istream 출력반복자 전방향 쓰기 ostream, inserter 전방향반복자 전방향 읽기/쓰기 양방향반복자 전/역방향 읽기/쓰기 list, set, multiset, map, multimap 랜덤액세스반복자 랜덤액세스 deque, vector, string, array 7.2.1 입력 반복자 전진방향으로 읽기 엑세스만 가능한 반복자. * 동작 1) *iter : 원소의 읽기 엑세스를 제공 2) iter->member : 원소 멤버의 읽기 엑세스를.. 2014. 10. 24.
728x90