일부 부스트 라이브러리는 헤더 전용이고 일부는 그렇지 않으며 여러 가지 이유로 여러 가지 이유가 있습니다.Boost.ProgramOptions이 헤더 전용이 아닌 이유는 무엇입니까?
Boost.ProgramOptions
이 헤더 전용이 아닌 이유/디자인 결정이 있습니까?
문서의 "작은"라이브러리라고 주장하고 시스템 관련 이유 (스레드 또는 asio 같은)가 표시되지 않기 때문에 궁금합니다.
일부 부스트 라이브러리는 헤더 전용이고 일부는 그렇지 않으며 여러 가지 이유로 여러 가지 이유가 있습니다.Boost.ProgramOptions이 헤더 전용이 아닌 이유는 무엇입니까?
Boost.ProgramOptions
이 헤더 전용이 아닌 이유/디자인 결정이 있습니까?
문서의 "작은"라이브러리라고 주장하고 시스템 관련 이유 (스레드 또는 asio 같은)가 표시되지 않기 때문에 궁금합니다.
단 하나 정의 규칙 위반으로 인해 모든 헤더가 C++ 코드로 기록 될 수있는 것은 아닙니다.
예를 들어, 클래스 구성원 인 static
의 저장 예약은 정확히 하나의 번역 단위 여야합니다 (향후 C++ 표준이이를 회피 할 수는 있지만).
원래의 의도는 Boost가 머리말 일 뿐이었지만 신속하게 그 포부를 포기해야했습니다.
프로그램 옵션은 작지만 Regex 다음으로 두 번째로 큰 라이브러리라고 밝혀졌습니다. (그것은 파일 시스템과 쓰레드 라이브러리를 향상시키는 것보다 큽니다.) 나는 여러분이 포함 된 헤더를 가지고 프로젝트를 질식시키지 않고 라이브러리를 구축하게되어 기쁘다 고 믿습니다. 아마도 저자는 시작했을 때 작을 것이라고 생각했으며 기능을 확장하고 추가 할 때 주석을 변경하는 것을 잊어 버렸을 것입니다.
아마도 내 대답은 당신을 후원하고 있습니다. 전문가가 대답 할 수 있도록 upvote를하십시오. – Bathsheba
이 작업이 필요한지는 모르겠지만 거의 모든 코드가'.cpp' 파일에있는 것처럼 보이며 헤더 전용으로 시도하지도 않습니다. https://github.com/ boostorg/program_options –
블라디미르 프 루스 (http://vladimirprus.com/)에게 이메일을 보내어 답을 얻을 수 있는지 알아볼 수 있습니다. – sigbjornlo