30 open-source projects similar to b-k/apophenia, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Apophenia alternative.
Include What You Use is a C++ include optimizer and header dependency analyzer. It identifies unused or missing header includes in source files to reduce project bloat and improve compilation performance. The tool performs static analysis using a Clang-based abstract syntax tree to map symbol usage and track preprocessor effects across different build configurations. It can automatically rewrite source files by inserting or deleting preprocessor directives based on the calculated dependency graph. The system integrates with compilation databases to determine the exact compiler flags used for
tiny recursive descent expression parser, compiler, and evaluation engine for math expressions
Quake-2 is a game engine designed for the development of first-person shooters and the rendering of three-dimensional environments. It provides the core framework for processing real-time physics and player input within interactive 3D spaces. The engine supports software extensibility, allowing for the direct modification of source code to change gameplay mechanics and engine behaviors. This makes it a resource for retro game engineering and the study of early 3D development techniques. Its technical capabilities include vertex-based software rendering, BSP-tree spatial partitioning, and PVS
nanomsg is a distributed messaging middleware and scalable messaging library designed for moving data between machines and processes. It functions as a socket-based communication framework that routes data across different network transport layers. The library implements scalable messaging patterns, specifically request-reply and publish-subscribe, to handle high volumes of data across distributed systems. It provides tools for network performance benchmarking to quantify messaging throughput and latency. The framework supports distributed message routing and inter-process communication usin
On the fly syntax checking for GNU Emacs
gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing high-performance memory allocation. It provides a memory profiling toolkit for C++ applications, including a sampling CPU profiler and a heap profiler for analyzing consumption patterns. The project includes a high-performance memory allocator designed as a multi-threaded replacement for standard allocation to reduce contention and improve execution speed. It further provides a memory debugger to identify illegal memory access and double frees. The toolkit covers broad diagnostic c
C library/compiler for the Cap'n Proto serialization/RPC protocol
RetroArch is a cross-platform emulation host and multi-system game emulator that serves as a frontend for the Libretro API. It coordinates video, audio, and user input to maintain the application state for various emulator cores, allowing it to run a wide variety of vintage gaming hardware and software engines. The platform distinguishes itself through a low-latency emulation model that uses run-ahead processing to reduce input lag. It also features a real-time state tracking system that enables gameplay rewinding by saving periodic snapshots of the emulator memory state. The environment inc
ARCHIVED - libbson has moved to https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson
s2n is a C-based security library and TLS protocol implementation that serves as a secure network transport layer. It provides a modular cryptographic backend interface to encrypt data streams, manage handshakes, and handle mutual authentication between peers. The project focuses on post-quantum cryptography, integrating quantum-resistant key exchange and digital signatures to protect connections against future computing threats. It distinguishes itself through security hardening measures, such as memory-locked secret storage to prevent keys from being swapped to disk and timing-attack mitiga
An implementation of the MessagePack serialization format in C / msgpack.orgC
clib is a C language package manager and dependency manager used to install, update, and manage external C libraries and executable dependencies from remote repositories. It functions as a distribution tool for structuring source code and metadata to publish C libraries and a development toolkit for maintaining consistent build environments. The project provides a framework for C library distribution and dependency resolution, utilizing manifest files to track required library versions and ensure reproducible builds across different systems. It streamlines the C development workflow by managi
Parser combinators for binary formats, in C. Yes, in C. What? Don't look at me like that.
Gumbo-parser is a high-performance HTML5 parsing library written in pure C99. It transforms raw markup into a structured document tree by implementing the formal state-machine tokenization and error recovery rules defined in the HTML5 specification. The project serves as an HTML source mapping tool, linking parsed nodes back to their original byte offsets and pointers within the input buffer. This allows for the precise tracking of source locations for elements within the resulting parse tree. Beyond full document processing, the library handles isolated HTML fragments and provides a C-based
This project is a suite of runtime diagnostic tools designed to detect memory leaks, concurrency races, and language-specification violations during software execution. It provides a collection of dynamic analysis tools that identify addressability issues, uninitialized memory usage, and memory safety bugs in applications. The toolset includes a thread safety analyzer to identify data races and deadlocks in concurrent code, as well as an undefined behavior sanitizer to detect operations that violate language specifications. The system covers broad capabilities in memory safety monitoring and
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements binary-safe storage by tracking string lengths explicitly, allowing the library to handle null characters within data. The library distinguishes itself through a memory architecture that uses interchangeable function pointers for allocation and freeing, enabling the integration of custom memory managers. It utilizes header-stored length tracking to provide constant-time length retrieval and maintains null-terminated buffer padding to ensure compatibility with standard C string
https://github.com/json-c/json-c is the official code repository for json-c. See the wiki for release tarballs for download. API docs at http://json-c.github.io/json-c/
libgit2 is a portable, cross-platform C library that provides a programmatic interface for integrating Git version control directly into applications. It serves as a linkable implementation of Git internals, allowing developers to manage repositories and manipulate version control data without requiring a system installation of the Git command line tool. The library functions as an embedded API and object database manager capable of reading and writing commits, trees, blobs, and tags. It includes a network transport client to handle the transfer of repository data over protocols such as SSH a
libimobiledevice is a communication library designed to interact with iOS devices using native protocols instead of proprietary software. It provides a set of tools for device management, including firmware recovery, filesystem access, and the creation of native backups and restores. The project implements a property list parser to read and write data across binary, XML, and JSON formats. It enables low-level hardware control, such as triggering recovery modes, modifying system settings, and managing device activation and provisioning via official servers. The library covers several function
MPack - A C encoder/decoder for the MessagePack serialization format / msgpack.orgC