본문 바로가기

가상함수와 테이블 (vtbl) 출처 : http://skmagic.tistory.com/140 / http://zerobell.tistory.com/17 1. 가상함수 동적 결합을 하는 함수. 가상함수로 선언하면 포인터의 타입이 아닌 포인터가 가리키는 객체의 타입에 따라 멤버 함수를 선택한다. virtual 키워드를 선언부에 넣어주면 가상함수가 된다. #include using namespace std; class CCellPhone { public : virtual void CellPhone_1 (); void CellPhone_2 (); }; class CGalaxyS : public CCellPhone { public : virtual void CellPhone_1 (); void CellPhone_2 (); }; void CC.. 더보기
Register variable (레지스터 변수) 출처 : 클릭 레지스터 변수(Register variable)는 프로세서의 레지스터에서 처리되는 변수를 말합니다. 레지스터는 CPU 안에 있는 메모리로써, 기계어 한 두개 수준에서 직접 처리가 되므로 프로그램의 수행 속도를 향상시킬 수 있습니다. 따라서 프로그램의 수행에서 가장 영향을 주는 변수를 레지스터 변수로 선언하여 사용하면 프로그램 속도를 비약적으로 향상시킬 수 있는 경우가 있습니다. 하지만 register를 붙인다고 꼭 레지스터 변수로 선언되는 것은 아닙니다. 경우에 따라서는 남는 레지스터가 없을 수도 있으므로 여기서 말하는 레지스터는 컴파일러에게 반드시 그렇게 선언하라고 요구하는 의미보다는, "가능하면 레지스터로 처리하라" 는 정도의 약한 의미에 불과합니다. 레지스터 변수를 선언하려면 변수를 .. 더보기
[DirectShow 레퍼런스] IMediaFilter 인터페이스 1. 이름 : IMediaFilter 2. 설명 : 시간에 기반한 데이터를 제공하는 모든 멀티미디어 콤포넌트들이 제공해야 하는 인터페이스. 콤포넌트의 실행 상태 제어와 상태를 다른 객체와 동기화 시키는 방법을 제공하기 위해 사용함. 3. 상속 : IPersist 4. 구현 : 모든 filter에서 구현되어야 함. CBaseFilter를 사용해서 구현 가능 5. 사용 : 보통은 IMediaFilter를 상속한 IBaseFilter를 많이 사용하기 때문에, 직접 어플리케이션에서 사용되는 경우는 거의 없음. 필터그래프 매니저가 사용하며, 플러그인 배급자에 의해 필터그래프 매니저가 노출시킨 IMediaFilter의 메소드들이 호출되는 경우가 있음. 6. 메소드 : - IUnknown 메소드들 : COM객체니까 .. 더보기