Skip to content

dzik143/tegenaria

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[ARCHIVE/2014] Tegenaria - OS independent utils for C++

  • ARCHIVAL set of C++ utils,
  • developed mainly between 2010-2014,
  • still used within some OLDER projects, but NOT maintaned anymore (even for bug fixes),
  • Should works on Windows 32/64, Linux and MacOS,
  • MIT LICENSE - use for any purpose (including commercial) as long as you keep copyright notice,

Overview

  • Core:

    • LibArgs - argv[] parser driven by CONFIG TABLE,
    • LibDebug - logs and debug helper, RESOURCE MONITOR, which tracks used resources (files, sockets, mutexes etc.) in human-readable file and updates this file at runtime,
    • LibFile - OS independent FILE functions (open/read/write, read content at-once, temporary files, transactional/atomic write etc.)
    • LibIO - high-level I/O routines with built-in timeout functionality, abstract I/O constructs: FIFO, circular buffer, IO Multiplexer,
    • LibIpc - INTER-PROCESS COMUNICATION (IPC) using Named Pipe (Windows) or local socket (Linux/MacOS),
    • LibJob - abstract Job queue and synchronization schemes,
    • LibLock - OS independent SYNCHRONIZATION (mutexes and semaphores),
    • LibObject - base C++ object scheme with thread-safe REFERENCE COUNTER,
    • LibProcess - OS independent PROCESS management (create, wait, kill, etc.),
    • LibReg - high-level WINDOWS REGISTRY management (Windows only),
    • LibService - high-level routines to manage WINDOWS SERVICES,
    • LibSSMap - String-to-String dictionary class, often used to read/write CONFIGURATION FILES,
    • LibStr - STRING and RAW BUFFER helpers,
    • LibSystem - helpers to read SYSTEM DATA such as OS version, amount of free memory, supported CPU instructions etc.,
    • LibThread - OS independent THREAD management (create, wait, kill, etc.),
    • LibVariant - implementation of VARIANT TYPE with operator overloading (add, sub, div etc.),
  • Net:

Build (Windows 32/64)

  1. Install MinGW
  2. Get qcbuild tool
  3. Go to main Tegenaria project root in cmd shell.
  4. Execute commands:
qcbuild
Build.bat

Build (Linux)

  1. Go to main Tegenaria project root in terminal.
  2. Get qcbuild tool
  3. Execute commands:
./qcbuild
./Build.sh