2011-02-10 6 views
1

나는 클래스의 일부 코드를 통해 찾아 봤는데 내가 한 곳에서 볼이이 라인이 있습니다무엇이 __SGI_STL_PORT입니까?

#ifndef __SGI_STL_PORT 

__SGI_STL_PORT은 무엇입니까? 언제 정의 할 예정입니까?

답변

4

이것은 "기능 테스트 매크로"입니다. 표준 템플릿 라이브러리의 STL 포트 구현을 사용할 때 정의됩니다 (예 : < 벡터 >을 포함하고 라이브러리의 STL 포트 버전에서 제공 한 경우이 매크로가 정의 됨). 이는 C++ 표준에 의해 존재하지 않을 구현 고유 확장을 활용하는 데 유용 할 수 있습니다.

+0

+1 또한 라이브러리를 사용하는 코드에 의해 정의 된 매크로 일 수 있습니다. 예를 들어 http://www.sqlite.org/compile.html을보십시오. - 사용자가 자신의 빌드에서 정의한 선행 처리기 기호에 따라 라이브러리의 다른 동작을 얻을 수 있습니다. – sharptooth