Register variable (레지스터 변수)Register variable (레지스터 변수)

Posted at 2011.07.03 15:06 | Posted in About Programing/03. Tip


출처 : 클릭

 레지스터 변수(Register variable)는 프로세서의 레지스터에서 처리되는 변수를 말합니다. 
레지스터는 CPU 안에 있는 메모리로써, 기계어 한 두개 수준에서 직접 처리가 되므로 프로그램의 수행 속도를 향상시킬 수 있습니다. 
 따라서 프로그램의 수행에서 가장 영향을 주는 변수를 레지스터 변수로 선언하여 사용하면 프로그램 속도를 비약적으로 향상시킬 수 있는 경우가 있습니다.
 
 하지만 register를 붙인다고 꼭 레지스터 변수로 선언되는 것은 아닙니다.
 경우에 따라서는 남는 레지스터가 없을 수도 있으므로 여기서 말하는 레지스터는 컴파일러에게 반드시 그렇게 선언하라고 요구하는 의미보다는,
  
"가능하면 레지스터로 처리하라" 는 정도의 약한 의미에 불과합니다.
  
 레지스터 변수를 선언하려면 변수를 선언할 때 앞에 register를 붙이면 됩니다.
레지스터 변수 선언은 지역 변수(Local variable)로만 선언할 수 있고 전역 변수(Global Variable)로는 선언할 수 없습니다.
 
register int k;
 
의 경우는 k라는 정수형 변수를 가능하면 레지스터 변수로 선언하라는 뜻이 되겠네요.

저작자 표시 비영리 변경 금지
신고

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[DirectShow 레퍼런스] IMediaFilter 인터페이스[DirectShow 레퍼런스] IMediaFilter 인터페이스

Posted at 2011.06.28 02:25 | Posted in About Programing/07. Direct Show

1. 이름 : IMediaFilter 
2. 설명 : 시간에 기반한 데이터를 제공하는 모든 멀티미디어 콤포넌트들이 제공해야 하는 인터페이스.
           콤포넌트의 실행 상태 제어와 상태를 다른 객체와 동기화 시키는 방법을 제공하기 위해 사용함.
3. 상속 : IPersist 
4. 구현 : 모든 filter에서 구현되어야 함. CBaseFilter를 사용해서 구현 가능 
5. 사용 : 보통은 IMediaFilter를 상속한 IBaseFilter를 많이 사용하기 때문에, 직접 어플리케이션에서 사용되는
           경우는 거의 없음. 필터그래프 매니저가 사용하며, 플러그인 배급자에 의해 필터그래프 매니저가
           노출시킨 IMediaFilter의 메소드들이 호출되는 경우가 있음.
 
6. 메소드 : 
- IUnknown 메소드들 : COM객체니까 당연히 지원해야 함 
- IMediaFilter 메소드들 : 
  * Stop : 필터를 정지상태로 전이시킴 
  * Pause : 필터를 일시중지 상태로 전이시킴 
  * Run : 필터를 플레이 상태로 전이시킴 
  * GetState : 현재 상태를 반환 
  * SetSyncSource : 동기화를 위한 클럭을 지정 
  * GetSyncSource : 필터에 지정되어 있는 클럭을 반환

저작자 표시 비영리 변경 금지
신고

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[DirectShow 레퍼런스] IBaseFilter Interface[DirectShow 레퍼런스] IBaseFilter Interface

Posted at 2011.06.28 02:24 | Posted in About Programing/07. Direct Show
1. 이름 : IBaseFilter 
2. 설명 : DirectShow의 모든 필터가 필수적으로 노출해야 하는 인터페이스이다. 
3. 상속 : IMediaFilter 
4. 구현 : 모든 DirectShow필터는 이 인터페이스를 구현해야 함. CBaseFilter클래스를 사용해 구현할 수 있음 
5. 사용 : 필터그래프 매니저가 일반적으로 사용. 어플리케이션은 핀이나 벤더관련 정보를 얻는데
           사용할 수 있음.
 
6. 메소드 : 
- IUnknown 메소드들 : COM객체니까 당연히 지원해야 함 
- IMediaFilter 메소드들 : IMediaFilter메소드를 살펴볼 것 
- IBaseFilter에서 선언된 메소드들 
   * EnumPins : 필터가 제공하는 핀들을 나열 
   * FindPin : 특정 ID에 해당하는 핀을 찾음 
   * QueryFilterInfo : 필터 정보를 얻음 
   * JoinFilterGraph : 필터 그래프에 연결된 경우 이를 필터에 알려줌 
   * QueryVendorInfo : 벤더가 제공하는 정보를 얻음
저작자 표시 비영리 변경 금지
신고

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

티스토리 툴바