Repolode
meta

meta/folly

Meta에서 폭넓게 사용되는 Facebook의 오픈소스 C++20 핵심 컴포넌트 라이브러리로, Boost와 std를 보완합니다.

스타
30,555
포크
5,881
열린 이슈
487
마지막 커밋
12시간 전

어떤 프로젝트인가요?

Folly(Facebook Open-source Library)는 실용성과 효율성을 고려해 만든 C++20 컴포넌트 모음입니다. 표준 라이브러리나 Boost에 필요한 기능이 없거나, 해당 구현의 성능이 요구 수준에 미치지 못하는 부분을 보완합니다. 각 컴포넌트는 비교적 독립적이며 몇 개의 심볼로 이뤄진 것부터 큰 모듈까지 다양합니다. Folly는 Meta의 다른 오픈소스 C++ 프로젝트에서 공통 의존성으로 자주 사용됩니다.

Folly는 C++20을 지원하는 gcc, clang 또는 MSVC를 대상으로 합니다. CMake 빌드는 시스템에서 찾지 못한 의존성을 가져오며, getdeps.py를 사용하면 Folly와 관련 프로젝트도 함께 빌드할 수 있습니다. Linux(x86-32, x86-64, ARM), iOS, macOS, Windows(x86-64)에서 실행되지만, CMake는 이 가운데 일부 플랫폼에서만 테스트되었습니다. 프로젝트는 커밋 간 ABI 호환성을 보장하지 않으므로 임시 prefix에 정적 라이브러리로 빌드하는 것을 권장합니다.

새 코드나 아직 안정화되지 않은 코드는 experimental 디렉터리에 있으며, 클라이언트가 사용하는 용도가 아닙니다. 문서는 docs 폴더에 있고 각 컴포넌트에 단위 테스트가 제공됩니다.

핵심 기능

  • 01표준 라이브러리나 Boost만으로 부족한 작업에 사용할 C++20 컴포넌트를 제공합니다.
  • 02CMake로 빌드하며, 누락된 의존성은 자동으로 가져옵니다.
  • 03Linux, macOS, Windows, iOS에서 gcc, clang, MSVC를 지원합니다.
  • 04folly와 관련 프로젝트를 함께 빌드하는 getdeps.py 스크립트를 포함합니다.
  • 05각 컴포넌트의 단위 테스트와 선택적 googletest 통합을 제공합니다.

활용 사례

  • 대규모 C++ 코드베이스에 고성능 유틸리티 컴포넌트를 추가할 때.
  • Meta의 다른 오픈소스 C++ 라이브러리에 의존하는 C++ 프로젝트를 빌드할 때.
  • 직접 구현한 컨테이너, 문자열 유틸리티 또는 동기화 기본 요소를 테스트된 대안으로 교체할 때.

빠른 시작

  1. 1

    리포지토리를 클론합니다

    git clone https://github.com/facebook/folly
  2. 2

    프로젝트 디렉터리로 이동합니다

    cd folly
  3. 3

    CMake 빌드를 구성합니다(누락된 종속 항목을 가져옵니다)

    cmake -B _build
  4. 4

    라이브러리를 빌드합니다

    cmake --build _build

사용 전 알아둘 점

  • 커밋 간 ABI 호환성은 보장되지 않으므로 정적 라이브러리로 빌드하고 버전을 고정하는 것을 권장합니다.
  • CMake 빌드는 일부 플랫폼에서만 테스트되었으며, 최소 지원 대상은 macOS와 Linux입니다.
  • Windows 빌드에서는 많은 테스트가 비활성화되어 있습니다.

포함된 컬렉션

토픽

#cpp#c-plus-plus-20#cpp-library#performance#cmake#concurrency

자주 묻는 질문

folly은(는) 무엇인가요?
Meta에서 폭넓게 사용되는 Facebook의 오픈소스 C++20 핵심 컴포넌트 라이브러리로, Boost와 std를 보완합니다. Folly(Facebook Open-source Library)는 실용성과 효율성을 고려해 만든 C++20 컴포넌트 모음입니다. 표준 라이브러리나 Boost에 필요한 기능이 없거나, 해당 구현의 성능이 요구 수준에 미치지 못하는 부분을 보완합니다. 각 컴포넌트는 비교적 독립적이며 몇 개의 심볼로 이뤄진 것부터 큰 모듈까지 다양합니다. Folly는 Meta의 다른 오픈소스 C++ 프로젝트에서 공통 의존성으로 자주 사용됩니다.
folly은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
folly은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
folly은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. folly의 마지막 커밋은 2026년 11월 5일입니다.
folly은(는) 어디에 사용할 수 있나요?
대규모 C++ 코드베이스에 고성능 유틸리티 컴포넌트를 추가할 때. Meta의 다른 오픈소스 C++ 라이브러리에 의존하는 C++ 프로젝트를 빌드할 때. 직접 구현한 컨테이너, 문자열 유틸리티 또는 동기화 기본 요소를 테스트된 대안으로 교체할 때.
folly는 어떻게 설치하나요?
리포지토리를 클론합니다: git clone https://github.com/facebook/folly 프로젝트 디렉터리로 이동합니다: cd folly CMake 빌드를 구성합니다(누락된 종속 항목을 가져옵니다): cmake -B _build 라이브러리를 빌드합니다: cmake --build _build
folly은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/meta/folly

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

문자열에서 float, double, 정수 값을 빠르고 정확하게 파싱하는 헤더 전용 C++ 라이브러리로, from_chars를 바로 대체해 사용할 수 있습니다.

백엔드·API#cpp#parsing#number-parsing
2.1천+5 이번 주202C++Apache-2.0활발히 관리됨업데이트 6일 전