저장소에는 Abseil C++ 라이브러리 코드가 포함되어 있습니다. Abseil은 C++ 표준 라이브러리를 확장하도록 설계된 C++ 코드(C++14 준수)의 오픈 소스 컬렉션입니다.
앱세유 소개
빠른 시작
압세일 건설
지원하다
코드맵
릴리스
특허
모래밭
Abseil은 C++ 표준 라이브러리를 확장하도록 설계된 C++ 라이브러리 코드의 오픈 소스 컬렉션입니다. Abseil 라이브러리 코드는 Google의 자체 C++ 코드 베이스에서 수집되어 광범위한 테스트를 거쳐 프로덕션에서 사용되었으며 일상적인 코딩 생활에서 사용하는 코드와 동일합니다.
경우에 따라 Abseil은 C++ 표준에서 누락된 부분을 제공합니다. 다른 경우 Abseil은 Google 코드 베이스의 사용을 통해 발견한 특별한 요구 사항에 대한 표준에 대한 대안을 제공합니다. 우리는 우리가 제공하는 라이브러리 코드 내에 이러한 사례를 명확하게 표시합니다.
Abseil은 표준 라이브러리의 경쟁자가 아닙니다. 우리는 이러한 유틸리티 중 다수가 코드 기반 내에서 목적을 달성한다는 사실을 발견했으며 이제 이러한 리소스를 C++ 커뮤니티 전체에 제공하려고 합니다.
바로 시작하고 싶다면 최소한 Abseil Quickstart를 실행해 보시기 바랍니다. 빠른 시작에는 개발 환경 설정, Abseil 코드 다운로드, 테스트 실행 및 간단한 바이너리 작동에 대한 정보가 포함되어 있습니다.
Bazel과 CMake는 Abseil의 공식 빌드 시스템입니다. Bazel 빌드 시스템을 사용하여 Abseil을 빌드하는 방법에 대한 자세한 내용은 빠른 시작을 참조하세요. CMake 지원이 필요한 경우 CMake 빌드 지침 및 CMake 빠른 시작을 확인하세요.
Abseil은 Google의 기본 C++ 지원 정책을 따릅니다. 현재 지원되는 버전의 컴파일러, 플랫폼 및 빌드 도구 목록은 이 표를 참조하세요.
Abseil에는 다음 C++ 라이브러리 구성 요소가 포함되어 있습니다.
base
base
라이브러리에는 초기화 코드와 다른 모든 Abseil 코드가 의존하는 기타 코드가 포함되어 있습니다. base
내의 코드는 다른 코드(C++ 표준 라이브러리 제외)에 종속되지 않을 수 있습니다.
algorithm
algorithm
라이브러리에는 C++ <algorithm>
라이브러리 및 해당 알고리즘의 컨테이너 기반 버전에 대한 추가 사항이 포함되어 있습니다.
cleanup
cleanup
라이브러리에는 범위 종료 시 콜백을 실행하는 데 사용되는 제어 흐름 구성과 유사한 유형의 absl::Cleanup
포함되어 있습니다.
container
container
라이브러리에는 Abseil의 정렬되지 않은 "스위스 테이블" 컨테이너를 포함하여 추가 STL 스타일 컨테이너가 포함되어 있습니다.
crc
crc
라이브러리에는 데이터에 대한 오류 감지 순환 중복 검사를 계산하기 위한 코드가 포함되어 있습니다.
debugging
debugging
라이브러리에는 누수 검사, 스택 추적 및 기호화 유틸리티를 활성화하는 데 유용한 코드가 포함되어 있습니다.
flags
flags
라이브러리에는 Abseil로 빌드된 라이브러리 및 바이너리에 대한 명령줄 플래그를 처리하기 위한 코드가 포함되어 있습니다.
hash
hash
라이브러리에는 Abseil의 해시 가능 유형에 대한 해시 프레임워크와 기본 해시 기능 구현이 포함되어 있습니다.
log
log
라이브러리에는 로그된 메시지를 디스크, stderr
또는 사용자 확장 가능 대상에 기록하기 위한 LOG
및 CHECK
매크로와 기능이 포함되어 있습니다.
memory
memory
라이브러리에는 C++의 <memory>
라이브러리를 확장하는 메모리 관리 기능이 포함되어 있습니다.
meta
meta
라이브러리에는 C++ <type_traits>
라이브러리의 C++14 및 C++17 버전 내에서 사용할 수 있는 호환 가능한 버전의 유형 검사가 포함되어 있습니다.
numeric
numeric
라이브러리에는 128비트 정수 유형과 C++20의 비트 수학 함수 구현이 포함되어 있습니다.
profiling
profiling
라이브러리에는 C++ 엔터티를 프로파일링하기 위한 유틸리티 코드가 포함되어 있습니다. 현재 다른 Abseil 라이브러리의 비공개 종속성입니다.
random
random
라이브러리에는 의사 무작위 값을 생성하는 함수가 포함되어 있습니다.
status
status
라이브러리에는 오류 처리를 위한 추상화, 특히 absl::Status
및 absl::StatusOr<T>
가 포함되어 있습니다.
strings
strings
라이브러리에는 C++17 std::string_view
유형의 C++14 호환 버전을 포함하여 다양한 문자열 루틴과 유틸리티가 포함되어 있습니다.
synchronization
synchronization
라이브러리에는 동시성 기본 요소(Abseil의 absl::Mutex
클래스, std::mutex
의 대안)와 다양한 동기화 추상화가 포함되어 있습니다.
time
time
라이브러리에는 절대 시점, 기간, 시간대 내 시간 형식 지정 및 구문 분석을 사용하여 계산하기 위한 추상화가 포함되어 있습니다.
types
types
라이브러리에는 C++17 std::optional
유형의 C++14 호환 버전과 같은 비컨테이너 유틸리티 유형이 포함되어 있습니다.
utility
utility
라이브러리에는 유틸리티와 도우미 코드가 포함되어 있습니다.
Abseil은 사용자에게 "live-at-head"(가능한 한 자주 마스터 브랜치의 최신 커밋으로 업데이트)를 권장합니다. 그러나 우리는 이 철학이 모든 프로젝트에 적용되지 않는다는 것을 알고 있으므로 심각한 버그에 대한 수정 사항을 백포트하는 장기 지원 릴리스도 제공합니다. 자세한 내용은 릴리스 관리 문서를 참조하세요.
Abseil C++ 라이브러리는 Apache 라이선스 조건에 따라 라이선스가 부여됩니다. 자세한 내용은 라이센스를 참조하세요.
Abseil에 대한 자세한 내용은 다음을 참조하세요.
Abseil 소개를 참조하세요
우리의 디자인 철학을 이해하려면 왜 Abseil을 채택해야 하는지 읽어보세요.
당사가 귀하에게 약속하는 것과 그 대가로 귀하에게 기대하는 것이 무엇인지 이해하려면 당사의 Abseil 호환성 보증을 자세히 읽어보십시오.