• Stars
    star
    286
  • Rank 144,690 (Top 3 %)
  • Language
    C++
  • License
    MIT License
  • Created about 8 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cross-platform C++ common library for Linux, OSX, Windows, Cygwin, MinGW

CppCommon

Linux (clang) Linux (gcc)
MacOS
Windows (Cygwin) Windows (MSYS2) Windows (MinGW) Windows (Visual Studio)

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.

CppCommon API reference

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

More Repositories

1

NetCoreServer

Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
C#
2,490
star
2

CppServer

Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
C++
1,334
star
3

FastBinaryEncoding

Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift
C++
820
star
4

CppTrader

High performance components for building Trading Platform such as ultra fast matching engine, order book processor
C++
754
star
5

CppBenchmark

Performance benchmark framework for C++ with nanoseconds measure precision
C++
258
star
6

CppLogging

Ultra fast and low latency C++ Logging library with flexible configuration and high throughput in multithreaded environment
C++
150
star
7

CppSerialization

Performance comparison of the most popular C++ serialization protocols such as Cap'n'Proto, FastBinaryEncoding, Flatbuffers, Protobuf, JSON
C++
134
star
8

CSharpServer

Ultra fast and low latency asynchronous socket server & client C# library with support TCP, SSL, UDP protocols and 10K connections problem solution
C#
108
star
9

gil

Gil is a git links tool to manage complex recursive repositories dependencies with cross references and cycles
Python
63
star
10

CppTemplate

Cross-platform template C++ project configured to build for Linux (gcc/clang), MacOS, Windows (Cygwin, MinGW, MSYS2, Visual Studio) with GitHub Action continuous integration
C++
36
star
11

CppSecurity

C++ Security Library
C++
33
star
12

TrueTemplate

FAR Manager editor plugin for edit and compile source files
C++
15
star
13

CppBuildScripts

C++ Build Scripts
Batchfile
14
star
14

CppCMakeScripts

C++ CMake Scripts
CMake
13
star
15

Depth

Depth C++ library
C++
8
star
16

NDepth

Depth .NET library
C#
5
star
17

projects

Projects repository and local workspace update script
Shell
3
star
18

OpenSSL

OpenSSL 64-bit binaries for MinGW and Visual Studio
Roff
2
star