Contents
1. 참고문서 [Bottom] [Top]
2. __declspec 키워드 사용하기 [Bottom] [Top]
Visual C++ 전용 확장 키워드인 _ _declspec 는 보조 키워드와 함께 다양한 기능을 수행한다. 가장 대표적인 기능으로 dllexport, dllimport 가 있다. 이 중에서 유용한 몇가지 키워드와 기능에 대하여 정리한다. 자세한 설명은 MSDN 을 참고한다.
_ _declspec 확장 키워드 설명 http://msdn.microsoft.com/ko-kr/library/dabb5z75.aspx
2.1. __declspec(deprecated) 키워드 [Bottom] [Top]
개발 중 변경되거나 삭제되는 데이터형, 함수, 클래스 등에 대하여 주의하도록 컴파일 시 경고 메시지를 생성한다. 주로 차후에 지원하지 않거나 삭제될 사항들에 대하여 많이 사용된다.
deprecated 키워드 설명 http://msdn.microsoft.com/ko-kr/library/044swk7y.aspx
참고> 컴파일러를 이용하여 deprecated 항목에 warning 생성하기 http://naiades.tistory.com/tag/deprecated
사용 형식>
__declspec( deprecated ) declarator __declspec( deprecated( _T( "MESSAGE STRING" ) ) ) declarator
#pragma deprecated 를 이용하여 동일한 기능 수행할 수 있다.
#pragma deprecated( identifier1 [,identifier2, ...] )
2.2. __declspec(thread) 키워드 [Bottom] [Top]
멀티스레드 환경에서 유용한 키워드로 TLS(Thread Local Storage) 를 손쉽게 사용할 수 있도록 해준다. TLS 를 사용하는 또 다른 방법으로 TLS 함수가 있지만 _ _declspec(thread) 키워드는 컴파일 시 TLS 가 할당되기 때문에 별다른 조작없이 손쉽게 사용 가능하다.
thread 키워드 설명 http://msdn.microsoft.com/ko-kr/library/9w1sdazb.aspx
TLS 규칙 및 제한 http://msdn.microsoft.com/ko-kr/library/2s9wt68x.aspx
사용 형식>
__declspec( thread ) declarator
2.3. __declspec(property(...)) 키워드 [Bottom] [Top]
클래스나 구조체의 non-static 인 가상의 멤버 변수에 대해 적용될 수 있다. 컴파일러가 이 가상의 멤버 변수를 멤버 변수처럼 취급하며 이 멤버 변수에 대한 참조는 함수 호출로 전환된다. 이 가상의 멤버 변수는 L-value 또는 R-value 로 모두 사용될 수 있으며 적절한 함수의 호출은 컴파일러가 결정한다.
property 키워드 설명 http://msdn.microsoft.com/ko-kr/library/yhfk0thd.aspx
사용 형식>
__declspec( property( get=get_func_name ) ) declarator __declspec( property( put=put_func_name ) ) declarator __declspec( property( get=get_func_name, put=put_func_name ) ) declarator
