Sane C++ 라이브러리는 macOS, Windows 및 Linux용 C++ 플랫폼 추상화 라이브러리 세트입니다.
원칙:
✅ 빠른 컴파일 시간
✅ 팽만감 없음
✅ 간단하게 읽을 수 있는 코드
✅ 손쉬운 통합
⛔️ C++ 표준 라이브러리 없음/예외/RTTI
⛔️ 타사 종속성 없음(OS API 선호)
자세한 내용은 설명서 웹사이트를 방문하세요.
도서관 | 설명 |
---|---|
알고리즘 | ? 템플릿 알고리즘이 배치될 자리 표시자 라이브러리 |
비동기 | ? 비동기 I/O(파일, 소켓, 타이머, 프로세스, fs 이벤트, 스레드 깨우기) |
비동기 스트림 | ? 비동기 소스에서 대상으로 동시에 데이터를 읽고, 변환하고, 씁니다. |
짓다 | ? 빌드가 C++로 설명되는 최소 빌드 시스템 |
컨테이너 | ? 일반 컨테이너(SC::Vector, SC::SmallVector, SC::Array 등) |
파일 | ? 동기식 디스크 파일 I/O |
파일 시스템 | ? { 파일 및 디렉터리 }에 대한 파일 시스템 작업 { 존재, 복사, 삭제 } |
파일 시스템 반복자 | ? 주어진 경로 내의 파일과 디렉터리를 열거합니다. |
파일 시스템 감시자 | ? 파일 및 디렉터리에 대한 알림 {추가, 제거, 이름 바꾸기, 수정} |
기반 | ? 기본 유형, 주장, 제한, 함수, 범위, 결과, 태그된 연합 |
해싱 | ? 바이트 스트림에 대해 MD5 , SHA1 또는 SHA256 해시를 계산합니다. |
HTTP | ? HTTP 파서, 클라이언트 및 서버 |
플러그인 | ? 핫 리로드 기능을 갖춘 최소 종속성 기반 플러그인 시스템 |
프로세스 | ? 하위 프로세스를 생성하고 연결합니다(비동기 라이브러리에서도 사용 가능) |
반사 | ? 직렬화를 위해 컴파일 타임에 C++ 유형 설명 |
직렬화 바이너리 | ? Reflection을 사용하여 이진 형식과 직렬화 |
직렬화 텍스트 | ? Reflection을 사용하여 텍스트 형식(JSON)으로/에서 직렬화 |
소켓 | ? 동기 소켓 네트워킹 및 DNS 조회 |
문자열 | ? 문자열 서식/변환/조작(ASCII/UTF8/UTF16) |
테스트 | ? 다른 모든 라이브러리에서 사용되는 간단한 테스트 프레임워크 |
스레딩 | ? 원자, 스레드, 스레드 풀, 뮤텍스, 조건 변수 |
시간 | ? 시간 처리(상대, 절대, 고해상도) |
각 라이브러리는 상태를 표시하기 위해 색상으로 구분됩니다.
일부 라이브러리에는 C 바인딩이 있습니다.
제본 | 설명 |
---|---|
sc_hashing | 해싱 라이브러리에 대한 바인딩 |
라이브러리는 빌드 시스템 없이 프로젝트에 단일 파일을 추가하여 있는 그대로 사용할 수 있습니다.
라이브러리만 사용하려면 건물(사용자)을 참조하세요.
곧:
SC_COMPILER_ENABLE_STD_CPP=1
을 정의하세요.Libraries/[Library]/*.h
)를 포함합니다. CoreFoundation.framework
링크CoreServices.framework
링크 libdl
링크( -ldl
)libpthread
링크( -lpthread
)SCExample은 Sane C++ 라이브러리와 Dear ImGui 및 sokol 라이브러리의 통합을 보여줍니다(예제 페이지 참조).
테스트는 C++로 빌드를 설명하는 자체 호스팅 SC::Build 프로젝트 생성기를 사용하여 빌드됩니다.
테스트를 실행하려면 Building(Contributor)를 선택하세요.
@pagghiu.bsky.social
@pagghiu_
@pagghiu
또는 다음과 같은 불일치도 읽고 있습니다.
@Pagghiu
또는 DM, 영어와 이탈리아어 모두 괜찮습니다)@Pagghiu
또는 DM)시간을 내어 원칙과 코딩 스타일을 읽어보세요.
그 후에 CONTRIBUTING.md 가이드를 읽을 수 있습니다.
Sane C++ 라이브러리는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE.txt를 참조하세요.
이 YouTube 채널에는 개발 과정을 보여주는 일부 동영상이 있습니다.
Sane Coding Blog에는 이 프로젝트에 대한 일련의 블로그 게시물이 있습니다.