KSTD is cross platform library for creating high performance C
application that can run on multiple OS'es, without any library dependency.
KSTD only depends on OS system calls.
It's fully modular application, it source code breaked into two level codes, high level codes (depends on low level codes) and low level codes (depends on OS syscalls).
KSTD was developed over Object Oriented paradigm (OOC) and it is easily expandable.
KSTD is a modular library, and you can use these modules
- dsa: Abstract Data Types implementation
- high:
- ArrayList
- Dequeue
- LinkedList
- Queue
- Stack
- low:
- String
- high:
- ipc: Inter Process Communication implementation (
anonymous
ornamed
)- low:
- Barrier
- ErrorCheckLock
- Latch
- Message
- Monitor
- MutexLock
- ReadWriteLock
- ReentrantLock
- Semaphore
- Share
- low:
- kstd: KSTD modules initializer
- local: Date and Time implementation
- low:
- Date
- Time
- low:
- memory: Heap and Type system implementation
- low:
- Heap
- Type
- low:
- processor: Thread and Process implementation
- high
- ThreadPool
- ProcessPool
- low
- Thread
- Process
- high
You can compile KSTD in two modes:
- debug (testing)
- release
And also you can set link type:
- static
- dynamic
So let's see the building command:
git clone https://github.com/koliberr136a1/kstd.git
cd sources/c
mkdir build
cd build
cmake -DBUILD=debug ..
make -j4
After building library, you can link .so
or .a
or .dll
file to your application and enjoy KSTD :)