문제

시작하고 싶은 몇 가지 취미 C 프로그래밍 프로젝트가 있습니다. 나는 자유 라이센스가있는 오픈 소스 라이브러리를 찾고 있습니다 (신용을 원하지만 거의 누구나 사용할 수있는 사람). 라이브러리에는 C 표준 라이브러리보다 문자열이 더 좋고 일부 휴대용 스레딩 프리미티브가 있어야합니다.

나는 고려하고있다 말 잘하는 그리고 4 월. 당신의 실제 경험은 무엇입니까? 더 나은 기초 C 라이브러리는 무엇입니까? 같은 틈새 시장을 채우는 다른 라이브러리가 있습니까?

도움이 되었습니까?

해결책

나는 Glib가 일반적으로 APR보다 우수하다고 생각합니다. GLIB는 휴대용 라이브러리로서 더 많은 데이터 구조를 가지고 있습니다. 예를 들어 해시 테이블, 모든 종류의 목록, 대기열, 스택, 동적 배열, 인수 구문 분석을 위해 파일 IO에는 자체 랩퍼도 있으며 메모리 관리가 쉽게 수정할 수 있습니다. 예를 들어 Glib가 쉽게 Boehm Weisser GC를 사용하게 할 수 있습니다. 이것은 Afaikt가 끝나지 않았거나 Apache로 쉽게 가능하지 않았습니다. 나는 조금 다르게 결정할 것이다. 더 유용한 데이터 구조 라이브러리가 필요한 경우 Glib가 더 잘 갖추어져 있습니다. Libapr보다 Gui 물건에 도달하면 Glib에는 GDK/GTK+가 있고 원하는 경우 그놈을위한 많은 것들이 있습니다.

그러나 네트워크에 관한 경우 Libapr은 분명히 glib보다 우위에 있습니다.

그래서 내 제안은입니다

  • 데스크탑 프로그래밍: gtk+와 glib를 사용하십시오.
  • 네트워크 물건: APR을 사용하지만 Glib 에이 휴대용이 모두 있음을 보장하십시오.

다른 팁

나는 APR과 함께 갈 것입니다. APR은 Portability Unix/Windows (전용 포팅 가능성 라이브러리)에서 더 나은 것이며, Glib은 전통적으로 더 위성 지향적이었습니다. APR은 Glib보다 큰 라이브러리이며, 많은 유용한 것들 (해시 테이블, 인수 구문 분석, 파일 I/O 재료, 메모리 관리, 공유 메모리 루틴, 신호 처리 등)이 있습니다.

C ++ STL을 사용하고 싶지 않은 이유가 있습니까? 클래스가없는 "C 스타일"코드를 작성하더라도 C ++ 문자열 및 데이터 구조를 사용할 수 있습니다.

물론 C를 고수해야 할 많은 유효한 이유가 있습니다. 이 경우, Glib에 대한 추천을 두 번째로 할 것입니다. APR은 유틸리티 라이브러리보다 이식성 계층에 가깝습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top