libc ++ 또는 libstdc ++를 사용해야합니까?
c / c ++를 사용하여 osx 및 linux 용 명령 줄 인터페이스 실행 파일을 개발 중입니다. 프로젝트는 opencv에 링크됩니다. libc ++ 또는 libstdc ++를 사용해야합니까?
각 OS에 대해 기본 라이브러리, 즉 GNU / Linux의 libstdc ++와 Mac OS X의 libc ++를 사용합니다.
libc ++는 GNU / Linux에서 100 % 완전하지 않으며 libstdc ++가 더 완전 할 때이를 사용하는 것이 실질적인 이점이 없습니다. 또한 C ++로 작성된 다른 라이브러리에 연결하려는 경우 거의 확실하게 libstdc ++로 빌드되었으므로 사용하려면 해당 라이브러리와 연결해야합니다.
다양한 플랫폼에서 libc ++의 완전성에 대한 자세한 정보는 여기 에 있습니다.
주요 Linux 배포판은 다음과 같은 이유로 LLVM libc ++를 제공하지 않습니다.
- Apple 및 FreeBSD와 달리 GPL + 3는 문제가되지 않으므로 여기에서 다른 스택을 구현할 필요가 없습니다.
- Linux 구성 요소는 오랫동안 GNU libstd ++를 중심으로 개발되었습니다. 그들 중 일부는 다른 것을 기반으로하지 않습니다.
- libc ++는 새로운 기능에 강하지 만 레거시 코드에는 몇 가지 문제가 있습니다.
결국 libc ++가 배포판의 일부가되면 선택적 구성 요소가됩니다. 그것에 대한 링크는 아마도 추가 옵션이 필요할 것입니다.
Jonathan이 말했듯이 기본적으로 포함 된 도구를 사용해야합니다. Clang은 GCC 대체물로 구성되어 있으므로 Linux에서 사용하기에 안전하므로 2 개의 컴파일러에 대해 걱정할 필요가 없습니다. 또한 두 개의 플랫폼을 대상으로하므로 cmake를 살펴보아야합니다.
libc ++에는 템플릿 오류에 대해 사람이 읽을 수있는 오류 메시지가 더 많다고합니다.
참고 URL : https://stackoverflow.com/questions/14972425/should-i-use-libc-or-libstdc
'Program Tip' 카테고리의 다른 글
왜 Spring Framework인가? (0) | 2020.10.10 |
---|---|
객체 그래프 표현을 인접 목록 및 행렬 표현과 비교 (0) | 2020.10.10 |
Java에서 메모리 누수 / 가비지 수집 문제 추적 (0) | 2020.10.10 |
웹 브라우저의 뒤로 버튼은 어떻게 작동합니까? (0) | 2020.10.10 |
형제 요소를 부모 태그에 래핑하지 않고 렌더링하려면 어떻게해야합니까? (0) | 2020.10.10 |