{"id":47938938,"url":"https://github.com/nodef/cpoach.sh","last_synced_at":"2026-04-04T07:57:00.033Z","repository":{"id":332998434,"uuid":"1135905560","full_name":"nodef/cpoach.sh","owner":"nodef","description":"Support tool for for easy-to-use, C/C++ libraries that can be effortlessly installed via NPM.","archived":false,"fork":false,"pushed_at":"2026-02-22T14:38:51.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T07:56:59.067Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/cpoach.sh","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-16T19:01:26.000Z","updated_at":"2026-02-22T14:38:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nodef/cpoach.sh","commit_stats":null,"previous_names":["nodef/cpoach.sh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nodef/cpoach.sh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fcpoach.sh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fcpoach.sh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fcpoach.sh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fcpoach.sh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodef","download_url":"https://codeload.github.com/nodef/cpoach.sh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fcpoach.sh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31392188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T04:26:24.776Z","status":"ssl_error","status_checked_at":"2026-04-04T04:23:34.147Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T07:56:59.820Z","updated_at":"2026-04-04T07:56:59.908Z","avatar_url":"https://github.com/nodef.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://github.com/user-attachments/assets/3953aefa-b955-44aa-97b9-27da2c545362)\n\n**cpoach** is a support tool designed to simplify the use of single-file C/C++ libraries. These libraries can be effortlessly installed via `npm`, making it easier to integrate them into your projects without the hassle of *managing build systems* (rather, just like `#include \u003cstdio.h\u003e`), and without including the third-party libraries into the project's version control. This is mainly to facilitate in-class demonstrations and assignments.\n\nThe name **cpoach** is a playful nod to the idea of *poaching* awesome C/C++ libraries and making them easily accessible for educational purposes. Many of these libraries are listed in [r-lyeh/single_file_libs](https://github.com/r-lyeh/single_file_libs), [fffaraz/awesome-cpp](https://github.com/fffaraz/awesome-cpp), or [p-ranav/awesome-hpp](https://github.com/p-ranav/awesome-hpp). I was listening to Eskil Steenberg's talk on [Advanced C](https://www.youtube.com/watch?v=w3_e9vZj7D8), which you should also look into. He also has a [collection of C libraries](https://gamepipeline.org/index.html) that you may want to explore.\n\nIssues or suggestions regarding a specific library should be directed to the original library repository. However, for issues to the **cpoach** project, please [open an issue here](https://github.com/nodef/cpoach.sh/issues).\n\n\u003cbr\u003e\n\n## Usage\n\nTo install *cpoach*, use the following command:\n\n```bash\n$ npm i -g cpoach.sh\n```\n\nAfter installation, you can include the desired libraries in your C/C++ projects. For example, if you want to use the [tigr.c] library for graphics, follow these steps:\n\nRun:\n\n```bash\n$ npm i tigr.c\n```\n\nAnd then include `tigr.h` as follows:\n\n```c\n// main.c\n#define TIGR_IMPLEMENTATION\n#include \u003ctigr.h\u003e\n\nint main() { /* ... */ }\n```\n\nAnd then compile with `clang` or `gcc` as usual.\n\n```bash\n$ clang $(cpoach i) main.c  # or, use gcc\n$ gcc   $(cpoach i) main.c\n```\n\n\u003cbr\u003e\n\n## Documentation\n\n```bash\n$ cpoach [command] [options]\n\nUsage: cpoach [command] [options]\n\nCommands:\n  i | includes         Generate compiler flags for include paths.\n\nOptions:\n  --compiler [name]    Specify the compiler (msvc, gcc, clang). Default is gcc.\n  --msvc               Shortcut for --compiler msvc.\n  --gcc                Shortcut for --compiler gcc.\n  --clang              Shortcut for --compiler clang.\n  --help               Display help information.\n```\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n## Available Libraries\n\nBelow is a categorized list of single-file C/C++ libraries available through the **cpoach** project:\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e🍳 Army knives\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [boost.cxx] | A collection of high-quality, free, and open-source libraries that extend the functionality of the C++ programming language; Dawes et al. (1998). |\n| ⚙️ [stb.c] | stb single-file public domain libraries for C/C++; Sean Barrett (2014). |\n| ⚙️ [plibsys.c] | Highly portable C system library: threads and synchronization primitives, sockets (TCP, UDP, SCTP), IPv4 and IPv6, IPC, hash functions (MD5, SHA-1, SHA-2, SHA-3, GOST), binary trees (RB, AVL) and more. Native code performance; Alexander Saprykin (2010). |\n| ⚙️ [libgb.c] | gb single-file public domain libraries for C \u0026 C++; gingerBill (2015). |\n| ⌛ [prideout.c] | single-file C libraries from Philip Allan Rideout; Philip Rideout (2015). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e🍳 High Performance Computing (HPC)\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [taskflow.cxx] | A General-purpose Task-parallel Programming System using Modern C++; Tsung-Wei Huang (2018). |\n| ⚙️ [subprocess.c] | 🐜 Single header process launching solution for C and C++; Neil Henning (2017). |\n| ⚙️ [tinycthread.c] | Small, portable implementation of the C11 threads API; Evan Nemerson (2012). |\n| ⚙️ [pthreads4w.c] | POSIX threads API for Windows from https://sourceforge.net/p/pthreads4w; Ben Elliston (1998). |\n| ⚙️ [minicoro.c] | Single header stackful cross-platform coroutine library in pure C; Eduardo Bart (2021). |\n| ⚙️ [cds_sync.c] | Single-header C90 collection of synchronization primitives; Cort Stratton (2015). |\n| ⚙️ [buddy_alloc.c] | A single header buddy memory allocator for C \u0026 C++; Stanislav Paskalev (2021). |\n| ⚙️ [rfft.c] | Reasonably fast Fourier transform in a single header for C and C++; grego (2023). |\n| ⚙️ [xxhash.c] | Extremely fast non-cryptographic hash algorithm; Yann Collet (2012). |\n| ⚙️ [linmath.c] | A lean linear math library, aimed at graphics programming. Supports vec3, vec4, mat4x4 and quaternions; Wolfgang Draxinger (2013). |\n| ⚙️ [algebra3.cxx] | Vector utilities for 2, 3, and 4 element vectors, all inline; Jean-Francois Doue, Paul S. Heckbert, and J. Nagle (1993). |\n| ⚙️ [stb_stats.c] | Single header file with a bunch of useful statistical functions such as ANOVA, Kruskal-Wallis, T-test, etc; Gerben Voshol (2018). |\n| ⚙️ [cxxgraph.cxx] | Header-Only C++ Library for Graph Representation and Algorithms; ZigRazor (2020). |\n| ⌛ [opencl.c] | C/C++ language headers for the OpenCL API; The Khronos Group (2013). |\n| ⌛ **clew.c** | The OpenCL Extension Wrangler Library; Martijn Berger ([XXXX](https://github.com/martijnberger/clew)). |\n| ⌛ [bikeshed.c] | Lock free hierarchical work scheduler; Dan Engelbrecht (2019). |\n| ⌛ **jemalloc.c** | jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support; Jason Evans ([XXXX](https://github.com/jemalloc/jemalloc)). |\n| ⌛ [genann.c] | simple neural network library in ANSI C; Lewis Van Winkle (2016). |\n| ⌛ [kann.c] | A lightweight C library for artificial neural networks; Attractive Chaos (2016). |\n| ⌛ **robin-map.cxx** | C++ implementation of a fast hash map and hash set using robin hood hashing; Thibaut Goetghebuer-Planchon ([XXXX](https://github.com/Tessil/robin-map)). |\n| ⌛ [uthash.c] | C macros for hash tables and more; Troy D. Hanson (2005). |\n| ⌛ **cephes.c** | Mirror of the Cephes C source for reference; Stephen L. Moshier ([XXXX](https://github.com/jeremybarnes/cephes)). |\n| ⌛ [hypatia.c] | A header-only, pure-C math library for 2D/3D graphics (matrix, vector, quaternion) Seeks to be close to C89/C90 compliant for portability. It's like a BLAS, but easier to use; Darryl T. Agostinelli (2015). |\n| ⌛ [handmademath.c] | A simple math library for games and computer graphics. Compatible with both C and C++. Public domain and easy to modify; Ben Visness (2016). |\n| ⌛ [ccvector.c] | A vector and matrix math library; Job Talle (2015). |\n| ⌛ [doops.c] | Single C file event loop; Eduard Suica (2019). |\n| ⌛ [ranxoshi256.c] | Portable, single-file, PRNG library implementing the xoshiro256** algorithm; BareRose (2018). |\n| ⌛ [uuid4.c] | UUID v4 generation in C; Grégory Pakosz (2019). |\n| ⌛ [uuid_h.c] | Single file, STB-style, \"lib\" to generate uuid:s; Fredrik Kihlander (2016). |\n| ⌛ **range-v3.cxx** | Range library for C++14/17/20, basis for C++20's std::ranges; Eric Niebler ([XXXX](https://github.com/Tessil/robin-map)). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Computer Graphics\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [clay.c] | High performance UI layout library in C; Nic Barker (2024). |\n| ⚙️ [nuklear.c] | A single-header ANSI C immediate mode cross-platform GUI library; Micha Mettke (2015). |\n| ⚙️ [microui.c] | A tiny immediate-mode UI library; rxi (2018). |\n| ⚙️ [tigr.c] | TIGR - the TIny GRaphics library for Windows, macOS, Linux, iOS and Android. |\n| ⚙️ [rgfw.c] | A cross platform lightweight single-header simple-to-use window abstraction library for creating graphical programs or libraries; Riley Mabb (2023). |\n| ⚙️ [glfw3.c] | A multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop; Marcus Geelnard (2002). |\n| ⚙️ [glad.c] | Vulkan/GL/GLES/EGL/GLX/WGL Loader based on the official specs, using glad by David Herberth (2013). |\n| ⚙️ [vulkan.c] | Vulkan header files and API registry; The Khronos Group (2018). |\n| ⚙️ [egl.c] | EGL API and Extension Registry; The Khronos Group (2016). |\n| ⚙️ [voxelizer.c] | Header only mesh voxelizer in c99; Karim Naaji (2016). |\n| ⌛ [sdl3.c] | Simple DirectMedia Layer; Sam Lantinga (1997). |\n| ⌛ **openvr.c** | OpenVR SDK; Valve Software ([XXXX](https://github.com/ValveSoftware/openvr)). |\n| ⌛ [openmodal.c] | Dependency free, cross-platform, single header lib to open native file modals; bzt (2023). |\n| ⌛ [tinyfiledialogs.c] | Modal dia  logs inc. file open/save (Win/Mac/Linux); Guillaume Vareille (2014). |\n| ⌛ [lightmapper.c] | A C/C++ single-file library for drop-in lightmap baking. Just use your existing OpenGL renderer to bounce light; ands (2016). |\n| ⌛ [sdl3.c] | Simple DirectMedia Layer; Sam Lantinga (1997). |\n| ⌛ [glew.c] | The OpenGL Extension Wrangler Library; Milan Ikits and Marcelo Magallon (2002). |\n| ⌛ [rfont.c] | Simple-to-use single header modular font rendering library written in C; Riley Mabb (2023). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Terminal utilities\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [indicators.cxx] | Activity Indicators for Modern C++; Pranav (2019). |\n| ⚙️ [rang.cxx] | A Minimal, Header only Modern c++ library for terminal goodies; Abhinav Gauniyal (2016). |\n| ⚙️ [termcolor.cxx] | Termcolor is a header-only C++ library for printing colored messages to the terminal. Written just for fun with a help of the Force; Ihor Kalnytskyi (2013). |\n| ⚙️ [linenoise.c] | A small self-contained alternative to readline and libedit; Salvatore Sanfilippo (2010). |\n| ⚙️ [parg.c] | Parser for argv that works similarly to getopt; Jørgen Ibsen (2015). |\n| ⚙️ [parg.cxx] | A header only c++ library for parsing command line arguments and generating usage/help output; Brett Robinson (2018). |\n| ⚙️ [cmdline.cxx] | A Command Line Parser; Hideyuki Tanaka (2009). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Video\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [pl_mpeg.c] | Single file C library for decoding MPEG1 Video and MP2 Audio; Dominic Szablewski (2019). |\n| ⌛ [jo_mpeg.c] | Simple, Minimalistic, No Allocations MPEG writer - without audio; Jon Olick and Wladislav Artsimovich (2016). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Audio\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [miniaudio.c] | Audio playback and capture library written in C, in a single source file; David Reid (2016). |\n| ⚙️ [minimp3.c] | Minimalistic MP3 decoder single header library; Lion (2018). |\n| ⌛ [dr_libs.c] | Audio decoding libraries for C/C++, each in a single source file; David Reid (2015). |\n| ⌛ [tflac.c] | A single file, freestanding FLAC encoding library in C89; John Regan (2024). |\n| ⌛ [pocketmod.c] | Small ANSI C library for turning ProTracker MOD files into playable PCM audio; rombankzero (2018). |\n| ⌛ [atomix.c] | Portable, single-file, wait-free atomic sound mixing library utilizing SSE-accelerated mixing; BareRose (2018). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Networking\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [httplib.cxx] | A C++ header-only HTTP/HTTPS server and client library; yhirose (2012). |\n| ⌛ [crow.cxx] | A Fast and Easy to use microframework for the web; Jaeseung Ha (2014). |\n| ⌛ [mongoose.c] | Embedded web server, with TCP/IP network stack, MQTT and Websocket; Cesanta Software (2010). |\n| ⌛ [webby.c] | A tiny webserver for game development; Andreas Fredriksson (2012). |\n| ⌛ [concord.c] | A Discord API wrapper library made in C; Cogmasters (2020). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Compression\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [lz4.c] | Extremely Fast Compression algorithm; lz4 (2011). |\n| ⚙️ [zlib.c] | A massively spiffy yet delicately unobtrusive compression library; Mark Adler (2011). |\n| ⚙️ [dmc_unrar.c] | A dependency-free, single-file FLOSS unrar library; Sven Hesse (2017). |\n| ⌛ [microtar.c] | A lightweight tar library written in ANSI C; rxi (2016). |\n| ⌛ [miniz.c] | miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz; Rich Geldreich (2011). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Cryptography\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⌛ [monocypher.c] | An easy to use, easy to deploy crypto library; Loup Vaillant (2016). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Serialization\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [parson.c] | Lightweight JSON library written in C; Krzysztof Gabis (2012). |\n| ⚙️ [mini.cxx] | INI file reader and writer; Danijel Durakovic (2018). |\n| ⚙️ [lurlparser.cxx] | Lightweight URL \u0026 URI parser (RFC 1738, RFC 3986); Sergey Kosarevsky (2015). |\n| ⌛ [inih.c] | Simple .INI file parser in C, good for embedded systems; Ben Hoyt (2009). |\n| ⌛ [yxml.c] | Yxml is a small (6 KiB) non-validating yet mostly conforming XML parser written in C; Yorhel (2013). |\n| ⌛ **tiny-json.c** | The tiny-json is a versatile and easy to use json parser in C suitable for embedded systems. It is fast, robust and portable; Rafa Garcia ([XXXX](https://github.com/rafagafe/tiny-json)). |\n| ⌛ [model3d.c] | 3D model format specification and single header SDK. Supports skeletal animations, voxels and has the best data density; bzt (2019). |\n| ⌛ [tinyobjloader.c] | Header only tiny wavefront .obj loader in pure C99; Syoyo Fujita (2016). |\n| ⌛ [fast_obj.c] | Fast C OBJ parser; Richard Knight (2018). |\n| ⌛ [cgltf.c] | 💠 Single-file glTF 2.0 loader and writer written in C99; Johannes Kuhlmann (2018). |\n| ⌛ [qr-code-generator.c] | High-quality QR Code generator library in Java, TypeScript/JavaScript, Python, Rust, C++, C; Nayuki (2016). |\n| ⌛ [cmp.c] | An implementation of the MessagePack serialization format in C / msgpack.org; Charlie Gunyon (2014). |\n| ⌛ [libcmdf.c] | Single-header library for writing CLI applications in C/C++; Ronen Kreimer (2017). |\n| ⌛ [kgflags.c] | kgflags is an easy to use command-line flag parsing library; Krzysztof Gabis (2020). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Text Processing\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [peglib.cxx] | A single file C++ header-only PEG (Parsing Expression Grammars) library; yhirose (2015). |\n| ⚙️ [remimu.c] | Single-file header-only regex engine, C99/C++11; Alexander Nadeau (2024). |\n| ⚙️ [slre.c] | Super Light Regular Expressions; Aquefir (2013). |\n| ⚙️ [unformat.cxx] | Fastest type-safe parsing library in the world for C++14 or C++17 (up to 300x faster than std::regex); Adam Yaxley (2017). |\n| ⚙️ [ggformat.cxx] | A string formatting library for C++; Michael Savage (2017). |\n| ⚙️ [utf8.c] | 📚 Single header utf8 string functions for C and C++; Neil Henning (2015). |\n| ⚙️ [utf8proc.c] | A clean C library for processing UTF-8 Unicode data; Steven G. Johnson (2014). |\n| ⚙️ [wcwidth9.c] | Platform independent, header only, wcwidth with full unicode 9 support; Joshua Rubin (2016). |\n| ⌛ [str.c] | str: yet another string library for C language; Maxim (2020). |\n| ⌛ [csplit.c] | A single header C library to simplify splitting and processing strings; Jakub Wlodek (2019). |\n| ⌛ [stmr.c] | Porter Stemmer algorithm in C; Titus (2014). |\n| ⌛ [levenshtein.c] | Levenshtein algorithm in C; Titus (2015). |\n| ⌛ **fmt.cxx** | A modern formatting library; Victor Zverovich ([XXXX](https://github.com/fmtlib/fmt)) |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Emulation/Scripting\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [pocketpy.c] | Portable Python 3.x Interpreter in Modern C for Game Scripting; pocketpy (2022). |\n| ⚙️ [minilua.c] | Single-file port of Lua, a powerful scripting language; Eduardo Bart (2020). |\n| ⚙️ [my_basic.c] | A lightweight BASIC interpreter written in standard C in dual files. Aims to be embeddable, extendable and portable; Tony Wang (2014). |\n| ⚙️ [tinyexpr.c] | Tiny recursive descent expression parser, compiler, and evaluation engine for math expressions; Lewis Van Winkle (2016). |\n| ⚙️ [chasm.c] | Chasm Runtime Assembler; Aqil Contractor (2025). |\n| ⌛ [webview.c] | Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows); Serge Zaitsev (2017). |\n| ⌛ **fex.cxx** | A fast usermode x86 and x86-64 emulator for Arm64 Linux; Ryan Houdek ([XXXX](https://github.com/FEX-Emu/FEX)). |\n| ⌛ **vixl.c** | AArch32 and AArch64 Runtime Code Generation Library; Linaro ([XXXX](https://github.com/Linaro/vixl)). |\n| ⌛ **v86.c** | x86 PC emulator and x86-to-wasm JIT, running in the browser; Fabian ([XXXX](https://github.com/copy/v86)). |\n| ⌛ [agnes.c] | NES emulation library with an easy to use API; Krzysztof Gabis (2019). |\n| ⌛ [apelang.c] | Ape Programming Language; Krzysztof Gabis (2020). |\n| ⌛ **softfloat3.c** | SoftFloat release 3; John Hauser ([XXXX](https://github.com/ucb-bar/berkeley-softfloat-3)). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Testing/Debugging\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [debugbreak.c] | Break into the debugger programmatically; Scott Tsai (2011). |\n| ⚙️ [b_stacktrace.c] | A minimalistic single-header multi-platform C89 lib for stack tracing; Borislav Stanimirov (2020). |\n| ⚙️ [clove-unit.c] | Single-Header Unit Testing framework for C (interoperable with C++) with test autodiscovery feature; Federico De Felici (2021). |\n| ⚙️ [rexo.c] | Neat single-file cross-platform unit testing framework for C/C++; Christopher Crouzet (2018). |\n| ⌛ [remotery.c] | Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer; Celtoys (2014). |\n| ⌛ **tracy.cxx** | Frame profiler; Bartosz Taudul ([XXXX](https://github.com/wolfpld/tracy)). |\n| ⌛ [errnoname.c] | errnoname is a C library that lets us get the symbolic name for each errno integer value; mentalisttraceur (2019). |\n| ⌛ [fctx.c] | C unit testing in a header (works for C++ too!); Ian Blumel (2008). |\n| ⌛ [greatest.c] | A C testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed; Scott Vokes (2012). |\n| ⌛ [utest.c] | 🧪 single header unit testing framework for C and C++; Neil Henning (2015). |\n| ⌛ [minctest.c] | tiny unit testing framework for ANSI C; Lewis Van Winkle (2015). |\n| ⌛ [labrat.c] | Simple, single-file test harness for C/C++; Alex Thayer (2016). |\n| ⌛ [munit.c] | µnit is a small testing framework for C; Evan Nemerson (2016). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003e 🍳 Others\u003c/summary\u003e\n\u003cbr\u003e\n\n| Package | Description |\n|  ----  |  ----  |\n| ⚙️ [units.cxx] | A compile-time, header-only, dimensional analysis and unit conversion library built on C++14 with no dependencies; Nic Holthaus (2016). |\n| ⚙️ [magic_enum.cxx] | Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code; Daniil Goncharov (2019). |\n| ⚙️ [nameof.cxx] | Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum; Daniil Goncharov (2016). |\n| ⚙️ [scope_guard.cxx] | Scope Guard \u0026 Defer C++; Daniil Goncharov (2018). |\n| ⚙️ [semver.cxx] | Semantic Versioning for modern C++; Daniil Goncharov (2018). |\n| ⚙️ [hedley.c] | A C/C++ header to help move #ifdefs out of your code; Evan Nemerson (2016). |\n| ⚙️ [catch2.cxx] | A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch); Martin Hořeňovský (2010). |\n| ⚙️ [macroarg.c] | Manage arguments of macros in C. |\n| ⌛ [endianness.c] | Simple public domain header to get endianess at compile time on a variety of platforms; rofl0r (2017). |\n| ⌛ [asap.cxx] | A C++ header-only library for creating, displaying, iterating and manipulating dates; Leonardo Guilherme de Freitas (2017). |\n| ⌛ [canvas_ity.cxx] | A tiny, single-header canvas-like 2D rasterizer for C++; Andrew Kensler (2022). |\n| ⌛ [cds_job.cxx] | C++11 lock-free job queue; Cort Stratton (2016). |\n| ⌛ [cimg.cxx] | The CImg Library is a small and open-source C++ toolkit for image processing; GREYC (2018). |\n| ⌛ [cista.cxx] | Cista is a simple, high-performance, zero-copy C++ serialization \u0026 reflection library; Felix Gündling (2018). |\n| ⌛ [cpp-mmaplib.cxx] | A single file C++11 header-only memory mapped file library; yhirose (2016). |\n| ⌛ [cpp-unicodelib.cxx] | A C++17 header-only Unicode library. (Unicode 16.0.0); yhirose (2016). |\n| ⌛ [debug-draw.cxx] | Immediate-mode, renderer agnostic, lightweight debug drawing API; Guilherme Lampert (2015). |\n| ⌛ [doctest.cxx] | The fastest feature-rich C++11/14/17/20/23 single-header testing framework; Viktor Kirilov (2016). |\n| ⌛ [flags.cxx] | ⛳ Simple, extensible, header-only C++17 argument parser released into the public domain; sailormoon (2016). |\n| ⌛ [hippomocks.cxx] | Single-header mocking framework; Peter Bindels (2008). |\n| ⌛ [imgui.cxx] | Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies; Omar (2014). |\n| ⌛ [immediate2d.cxx] | A C++ drawing framework for Windows that makes simple graphics programming as fun and easy as the days when computers booted directly to a BASIC prompt; Nicholas Piegdon (2017). |\n| ⌛ [inja.cxx] | A Template Engine for Modern C++; Berscheid (2017). |\n| ⌛ [jargsparser.cxx] | A head-only arguments parser(argsparser) c++11 lib; Zhengqiao Wang (2022). |\n| ⌛ [json.cxx] | JSON for Modern C++; Niels Lohmann (2013). |\n| ⌛ [linalg.cxx] | linalg.h is a single header, public domain, short vector math library for C++; Sterling Orsten (2016). |\n| ⌛ [lurlparser.cxx] | Lightweight URL \u0026 URI parser (RFC 1738, RFC 3986); Sergey Kosarevsky (2015). |\n| ⌛ [micropather.cxx] | MicroPather is a path finder and A* solver (astar or a-star) written in platform independent C++ that can be easily integrated into existing code. MicroPather focuses on being a path finding engine for video games but is a generic A* solver; Lee Thomason (2012). |\n| ⌛ [microprofile.cxx] | microprofile is an embeddable profiler; Jonas Meyer (2013). |\n| ⌛ [mini-yaml.cxx] | Single header YAML 1.0 C++11 serializer/deserializer; Jimmie Bergmann (2018). |\n| ⌛ [obfuscate.cxx] | Guaranteed compile-time string literal obfuscation header-only library for C++14; Adam Yaxley (2017). |\n| ⌛ [programoptions.cxx] | Single-header program options parsing library for C++11; Fytch (2017). |\n| ⌛ [pugixml.cxx] | Light-weight, simple and fast XML parser for C++ with XPath support; Arseny Kapoulkine (2006). |\n| ⌛ [random.cxx] | Random for modern C++ with convenient API; Illia (2017). |\n| ⌛ [simple-svg.cxx] | Easy to use SVG library for C++ (fork of legacy Google code project archive); Adi Shavit (2015). |\n| ⌛ [str_view.cxx] | Null-termination-aware string-view class for C++; Adam Sawicki (2018). |\n| ⌛ [str.cxx] | Lightweight C++ string type with a configurable local buffer; Omar (2015). |\n| ⌛ [swarmz.cxx] | A free, header-only C++ swarming (flocking) library for real-time applications; Michael (2016). |\n| ⌛ [tinyformat.cxx] | Minimal, type safe printf replacement library for C++; Claire Foster (2011). |\n| ⌛ [tinyobjloader.cxx] | Tiny but powerful single file wavefront obj loader; tinyobjloader (2012). |\n| ⌛ [tinyply.cxx] | 🌍 C++11 ply 3d mesh format importer \u0026 exporter; Dimitri Diakopoulos (2015). |\n| ⌛ [tinythread.cxx] | Cross-platform implementation of the C++11 Threads API; Marcus Geelnard (2010). |\n| ⌛ [tinyxml2.cxx] | TinyXML2 is a simple, small, efficient, C++ XML parser that can be easily integrated into other programs; Lee Thomason (2011). |\n| ⌛ [tomlplusplus.cxx] | Header-only TOML config file parser and serializer for C++17; Mark Gillard (2020). |\n| ⌛ [trompeloeil.cxx] | Header only C++14 mocking framework; Björn Fahller (2014). |\n| ⌛ [utl.cxx] | Collection of self-contained header-only libraries for C++17; DmitriBogdanov (2023). |\n| ⌛ [visit_struct.cxx] | A miniature library for struct-field reflection in C++; Chris Beck (2016). |\n| ⌛ [vulkanmemoryallocator.cxx] | Easy to integrate Vulkan memory allocation library; GPUOpen Libraries \u0026 SDKs (2017). |\n| ⌛ [xatlas.cxx] | Mesh parameterization / UV unwrapping library; Jonathan Young (2016). |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\n\u003c!-- ⚙️ --\u003e\n\n[agnes.c]: https://www.npmjs.com/package/agnes.c\n[apelang.c]: https://www.npmjs.com/package/apelang.c\n[atomix.c]: https://www.npmjs.com/package/atomix.c\n[b_stacktrace.c]: https://www.npmjs.com/package/b_stacktrace.c\n[bikeshed.c]: https://www.npmjs.com/package/bikeshed.c\n[boost.cxx]: https://www.npmjs.com/package/boost.cxx\n[buddy_alloc.c]: https://www.npmjs.com/package/buddy_alloc.c\n[ccvector.c]: https://www.npmjs.com/package/ccvector.c\n[cds_sync.c]: https://www.npmjs.com/package/cds_sync.c\n[cgltf.c]: https://www.npmjs.com/package/cgltf.c\n[chasm.c]: https://www.npmjs.com/package/chasm.c\n[clay.c]: https://www.npmjs.com/package/clay.c\n[clove-unit.c]: https://www.npmjs.com/package/clove-unit.c\n[cmp.c]: https://www.npmjs.com/package/cmp.c\n[concord.c]: https://www.npmjs.com/package/concord.c\n[crow.cxx]: https://www.npmjs.com/package/crow.cxx\n[csplit.c]: https://www.npmjs.com/package/csplit.c\n[cxxgraph.cxx]: https://www.npmjs.com/package/cxxgraph.cxx\n[debugbreak.c]: https://www.npmjs.com/package/debugbreak.c\n[dmc_unrar.c]: https://www.npmjs.com/package/dmc_unrar.c\n[doops.c]: https://www.npmjs.com/package/doops.c\n[dr_libs.c]: https://www.npmjs.com/package/dr_libs.c\n[endianness.c]: https://www.npmjs.com/package/endianness.c\n[errnoname.c]: https://www.npmjs.com/package/errnoname.c\n[fast_obj.c]: https://www.npmjs.com/package/fast_obj.c\n[fctx.c]: https://www.npmjs.com/package/fctx.c\n[genann.c]: https://www.npmjs.com/package/genann.c\n[glad.c]: https://www.npmjs.com/package/glad.c\n[glfw.c]: https://www.npmjs.com/package/glfw.c\n[greatest.c]: https://www.npmjs.com/package/greatest.c\n[handmademath.c]: https://www.npmjs.com/package/handmademath.c\n[hedley.c]: https://www.npmjs.com/package/hedley.c\n[httplib.cxx]: https://www.npmjs.com/package/httplib.cxx\n[hypatia.c]: https://www.npmjs.com/package/hypatia.c\n[indicators.cxx]: https://www.npmjs.com/package/indicators.cxx\n[inih.c]: https://www.npmjs.com/package/inih.c\n[jo_mpeg.c]: https://www.npmjs.com/package/jo_mpeg.c\n[kann.c]: https://www.npmjs.com/package/kann.c\n[kgflags.c]: https://www.npmjs.com/package/kgflags.c\n[labrat.c]: https://www.npmjs.com/package/labrat.c\n[levenshtein.c]: https://www.npmjs.com/package/levenshtein.c\n[libcmdf.c]: https://www.npmjs.com/package/libcmdf.c\n[libgb.c]: https://www.npmjs.com/package/libgb.c\n[lightmapper.c]: https://www.npmjs.com/package/lightmapper.c\n[linenoise.c]: https://www.npmjs.com/package/linenoise.c\n[linmath.c]: https://www.npmjs.com/package/linmath.c\n[lz4.c]: https://www.npmjs.com/package/lz4.c\n[macroarg.c]: https://www.npmjs.com/package/macroarg.c\n[magic_enum.cxx]: https://www.npmjs.com/package/magic_enum.cxx\n[microtar.c]: https://www.npmjs.com/package/microtar.c\n[microui.c]: https://www.npmjs.com/package/microui.c\n[minctest.c]: https://www.npmjs.com/package/minctest.c\n[miniaudio.c]: https://www.npmjs.com/package/miniaudio.c\n[minicoro.c]: https://www.npmjs.com/package/minicoro.c\n[minilua.c]: https://www.npmjs.com/package/minilua.c\n[minimp3.c]: https://www.npmjs.com/package/minimp3.c\n[miniz.c]: https://www.npmjs.com/package/miniz.c\n[model3d.c]: https://www.npmjs.com/package/model3d.c\n[mongoose.c]: https://www.npmjs.com/package/mongoose.c\n[monocypher.c]: https://www.npmjs.com/package/monocypher.c\n[munit.c]: https://www.npmjs.com/package/munit.c\n[my_basic.c]: https://www.npmjs.com/package/my_basic.c\n[nameof.cxx]: https://www.npmjs.com/package/nameof.cxx\n[nuklear.c]: https://www.npmjs.com/package/nuklear.c\n[openmodal.c]: https://www.npmjs.com/package/openmodal.c\n[parg.c]: https://www.npmjs.com/package/parg.c\n[parson.c]: https://www.npmjs.com/package/parson.c\n[peglib.cxx]: https://www.npmjs.com/package/peglib.cxx\n[pl_mpeg.c]: https://www.npmjs.com/package/pl_mpeg.c\n[pocketmod.c]: https://www.npmjs.com/package/pocketmod.c\n[pocketpy.c]: https://www.npmjs.com/package/pocketpy.c\n[prideout.c]: https://www.npmjs.com/package/prideout.c\n[qr-code-generator.c]: https://www.npmjs.com/package/qr-code-generator.c\n[ranxoshi256.c]: https://www.npmjs.com/package/ranxoshi256.c\n[remimu.c]: https://www.npmjs.com/package/remimu.c\n[remotery.c]: https://www.npmjs.com/package/remotery.c\n[rexo.c]: https://www.npmjs.com/package/rexo.c\n[rfft.c]: https://www.npmjs.com/package/rfft.c\n[rfont.c]: https://www.npmjs.com/package/rfont.c\n[rgfw.c]: https://www.npmjs.com/package/rgfw.c\n[scope_guard.cxx]: https://www.npmjs.com/package/scope_guard.cxx\n[semver.cxx]: https://www.npmjs.com/package/semver.cxx\n[slre.c]: https://www.npmjs.com/package/slre.c\n[stb_stats.c]: https://www.npmjs.com/package/stb_stats.c\n[stb.c]: https://www.npmjs.com/package/stb.c\n[stmr.c]: https://www.npmjs.com/package/stmr.c\n[str.c]: https://www.npmjs.com/package/str.c\n[subprocess.c]: https://www.npmjs.com/package/subprocess.c\n[taskflow.cxx]: https://www.npmjs.com/package/taskflow.cxx\n[termcolor.cxx]: https://www.npmjs.com/package/termcolor.cxx\n[tflac.c]: https://www.npmjs.com/package/tflac.c\n[tigr.c]: https://www.npmjs.com/package/tigr.c\n[tinycthread.c]: https://www.npmjs.com/package/tinycthread.c\n[tinyexpr.c]: https://www.npmjs.com/package/tinyexpr.c\n[tinyfiledialogs.c]: https://www.npmjs.com/package/tinyfiledialogs.c\n[tinyobjloader.c]: https://www.npmjs.com/package/tinyobjloader.c\n[utest.c]: https://www.npmjs.com/package/utest.c\n[utf8.c]: https://www.npmjs.com/package/utf8.c\n[utf8proc.c]: https://www.npmjs.com/package/utf8proc.c\n[uthash.c]: https://www.npmjs.com/package/uthash.c\n[uuid_h.c]: https://www.npmjs.com/package/uuid_h.c\n[uuid4.c]: https://www.npmjs.com/package/uuid4.c\n[voxelizer.c]: https://www.npmjs.com/package/voxelizer.c\n[wcwidth9.c]: https://www.npmjs.com/package/wcwidth9.c\n[webby.c]: https://www.npmjs.com/package/webby.c\n[webview.c]: https://www.npmjs.com/package/webview.c\n[yxml.c]: https://www.npmjs.com/package/yxml.c\n[plibsys.c]: https://www.npmjs.com/package/plibsys.c\n[pthreads4w.c]: https://www.npmjs.com/package/pthreads4w.c\n[xxhash.c]: https://www.npmjs.com/package/xxhash.c\n[opencl.c]: https://www.npmjs.com/package/opencl.c\n[glfw3.c]: https://www.npmjs.com/package/glfw3.c\n[vulkan.c]: https://www.npmjs.com/package/vulkan.c\n[egl.c]: https://www.npmjs.com/package/egl.c\n[sdl3.c]: https://www.npmjs.com/package/sdl3.c\n[glew.c]: https://www.npmjs.com/package/glew.c\n[algebra3.cxx]: https://www.npmjs.com/package/algebra3.cxx\n[asap.cxx]: https://www.npmjs.com/package/asap.cxx\n[canvas_ity.cxx]: https://www.npmjs.com/package/canvas_ity.cxx\n[catch2.cxx]: https://www.npmjs.com/package/catch2.cxx\n[cds_job.cxx]: https://www.npmjs.com/package/cds_job.cxx\n[cimg.cxx]: https://www.npmjs.com/package/cimg.cxx\n[cista.cxx]: https://www.npmjs.com/package/cista.cxx\n[cmdline.cxx]: https://www.npmjs.com/package/cmdline.cxx\n[cpp-httplib.cxx]: https://www.npmjs.com/package/cpp-httplib.cxx\n[cpp-mmaplib.cxx]: https://www.npmjs.com/package/cpp-mmaplib.cxx\n[cpp-peglib.cxx]: https://www.npmjs.com/package/cpp-peglib.cxx\n[cpp-unicodelib.cxx]: https://www.npmjs.com/package/cpp-unicodelib.cxx\n[debug-draw.cxx]: https://www.npmjs.com/package/debug-draw.cxx\n[doctest.cxx]: https://www.npmjs.com/package/doctest.cxx\n[flags.cxx]: https://www.npmjs.com/package/flags.cxx\n[ggformat.cxx]: https://www.npmjs.com/package/ggformat.cxx\n[hippomocks.cxx]: https://www.npmjs.com/package/hippomocks.cxx\n[imgui.cxx]: https://www.npmjs.com/package/imgui.cxx\n[immediate2d.cxx]: https://www.npmjs.com/package/immediate2d.cxx\n[inja.cxx]: https://www.npmjs.com/package/inja.cxx\n[jargsparser.cxx]: https://www.npmjs.com/package/jargsparser.cxx\n[json.cxx]: https://www.npmjs.com/package/json.cxx\n[linalg.cxx]: https://www.npmjs.com/package/linalg.cxx\n[lurlparser.cxx]: https://www.npmjs.com/package/lurlparser.cxx\n[micropather.cxx]: https://www.npmjs.com/package/micropather.cxx\n[microprofile.cxx]: https://www.npmjs.com/package/microprofile.cxx\n[mini.cxx]: https://www.npmjs.com/package/mini.cxx\n[mini-yaml.cxx]: https://www.npmjs.com/package/mini-yaml.cxx\n[obfuscate.cxx]: https://www.npmjs.com/package/obfuscate.cxx\n[parg.cxx]: https://www.npmjs.com/package/parg.cxx\n[programoptions.cxx]: https://www.npmjs.com/package/programoptions.cxx\n[pugixml.cxx]: https://www.npmjs.com/package/pugixml.cxx\n[random.cxx]: https://www.npmjs.com/package/random.cxx\n[rang.cxx]: https://www.npmjs.com/package/rang.cxx\n[simple-svg.cxx]: https://www.npmjs.com/package/simple-svg.cxx\n[str_view.cxx]: https://www.npmjs.com/package/str_view.cxx\n[str.cxx]: https://www.npmjs.com/package/str.cxx\n[swarmz.cxx]: https://www.npmjs.com/package/swarmz.cxx\n[tinyformat.cxx]: https://www.npmjs.com/package/tinyformat.cxx\n[tinyobjloader.cxx]: https://www.npmjs.com/package/tinyobjloader.cxx\n[tinyply.cxx]: https://www.npmjs.com/package/tinyply.cxx\n[tinythread.cxx]: https://www.npmjs.com/package/tinythread.cxx\n[tinyxml2.cxx]: https://www.npmjs.com/package/tinyxml2.cxx\n[tomlplusplus.cxx]: https://www.npmjs.com/package/tomlplusplus.cxx\n[trompeloeil.cxx]: https://www.npmjs.com/package/trompeloeil.cxx\n[unformat.cxx]: https://www.npmjs.com/package/unformat.cxx\n[units.cxx]: https://www.npmjs.com/package/units.cxx\n[utl.cxx]: https://www.npmjs.com/package/utl.cxx\n[visit_struct.cxx]: https://www.npmjs.com/package/visit_struct.cxx\n[vulkanmemoryallocator.cxx]: https://www.npmjs.com/package/vulkanmemoryallocator.cxx\n[xatlas.cxx]: https://www.npmjs.com/package/xatlas.cxx\n[zlib.c]: https://www.npmjs.com/package/zlib.c\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n[![](https://raw.githubusercontent.com/qb40/designs/gh-pages/0/image/11.png)](https://wolfram77.github.io)\u003cbr\u003e\n[![ORG](https://img.shields.io/badge/org-nodef-green?logo=Org)](https://nodef.github.io)\n![](https://ga-beacon.deno.dev/G-RC63DPBH3P:SH3Eq-NoQ9mwgYeHWxu7cw/github.com/nodef/cpoach.sh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fcpoach.sh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodef%2Fcpoach.sh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fcpoach.sh/lists"}