mirror of
https://github.com/Vita3K/Vita3K.git
synced 2025-04-02 11:02:10 -04:00
* make the code compile on mingw-w64 * make compile with Clang 19 * make compile with GCC |
||
---|---|---|
.. | ||
include | ||
source | ||
LICENSE | ||
README.md |
CppCommon
C++ Common Library contains reusable components and patterns for error and exceptions handling, filesystem manipulations, math, string format and encoding, shared memory, threading, time management and others.
Contents
Features
- Cross platform (Linux, MacOS, Windows)
- Exception handling model
- Filesystem manipulations
- String encoding converters
- String format using {fmt} library
- CPU, memory, environment
- Shared memory
- Stack trace
- UUID generator
- Thread extensions (priority, affinity, yield)
- Thread barrier, latch
- Synchronization primitives
- Named synchronization primitives
- Producer/consumer queues
- Time management
- Utilities
Requirements
Optional:
How to build?
Linux: install required packages
sudo apt-get install -y binutils-dev uuid-dev
Install gil (git links) tool
pip3 install gil
Setup repository
git clone https://github.com/chronoxor/CppCommon.git
cd CppCommon
gil update
Linux
cd build
./unix.sh
MacOS
cd build
./unix.sh
Windows (Cygwin)
cd build
unix.bat
Windows (MSYS2)
cd build
unix.bat
Windows (MinGW)
cd build
mingw.bat
Windows (Visual Studio)
cd build
vs.bat