2013-02-17 1 views
1

(1) 디버그 도구 (예 : 반복기 검사) 및 (2) 보안 관련 항목에 대해 Boost와 함께 사용해야하는 전처리 매크로를 결정하는 데 어려움을 겪고 있습니다.BOOST 강화 가이드 (전 처리기 매크로)

찾을 수 있습니다. Preprocessor Metaprogramming (www.boost.org/libs/preprocessor/에서 링크 됨)입니다.

업데이트 (02-18-2013) : Boost Macro Reference을 찾았지만 디버깅이나 보안과 관련이 없습니다.

디버깅 및 보안을위한 사용 가능한 선처리 매크로 목록이나 강화 가이드를 아는 사람이 있습니까?

+0

답변은 특정 부스트 라이브러리에만 적용됩니다. –

+0

감사합니다. @ 샘. 어떤 도서관을위한 것인가? Boost에는 코딩 요구 사항, 품질 검사 등이 있습니다. 따라서 GCC의'_GLIBCXX_DEBUG' 또는 Microsoft의'_HAS_ITERATOR_DEBUGGING'과 비슷한 것을 기대합니다. 아니면 그 매크로들 (그리고'DEBUG'과'_DEBUG'와 같은 다른 것들을 존중해라)에 부스트를 줍니까? – jww

답변

1

내가 어떤 부스트 라이브러리에서 알고있는 것과 같은 것이 없다. 그들 중 일부는 NDEBUG을 존중하고이를 기반으로 최적화를합니다. 따라서 NDEBUG이 해제 될 것이라는 어설 션이 있으므로 릴리스에 대해 NDEBUG을 설정하고 디버그는 설정하지 않아야합니다 (예 : NDEBUG을 출시 횟수로 정의하지 않은 상태로 "경화 중" 모르겠다.) 하지만 확실히 lib 디렉토리에는 그 이상의 옵션을 가지고있어 갑옷 도금이나 디버깅 기능을 추가로 제공하지 못합니다.

부스트 라이브러리는 마이크로 소프트의 _HAS_ITERATOR_DEBUGGING와 상호 작용해야하며, 특히 _SECURE_SCL는 반복되는 논쟁은 볼 얼마나 예를 들어 here, here과는 많은 차이를하지 않는다 "헤더 전용"라이브러리 here (그것은 만드는 문제의 더 제공된 DLL은 통합 자들이 기대하는 것과 호환되며, 이러한 옵션에 대한 MS 기본값이 사용되어야하는지 또는 성능 오버 헤드가 의심스럽지 않은지에 대한 보편적 인 합의가 없습니다.

+0

감사합니다. @timday. [C-Based Toolchain Hardening] (https://www.owasp.org/index.php/C-Based_Toolchain_Hardening#Additional_Macros)에서 메모를 작성하겠습니다. 제프 – jww

+0

당신의 이름은 "팀의 날"입니까? OWASP 기사에서 당신을 인용하고 싶습니다. – jww

+0

네, 괜찮습니다. 이제는 위의 몇 가지 링크를 추가하여 컨텍스트를 보았습니다. – timday