The main purpose of this library is to provide uniform interface for seamless handling of signals and exceptions.
This project is focused on simplicity and flexibility - it does not even try to mimic C++ exceptions system - instead, it offers only few simple functions and macros which can be easily combined with custom user code to tune the functionality for particular use cases.

Features

  • separate, mprotect()-ed, per-thread stacks for signal handlers.
  • separate, mprotect()-ed, per-thread stacks for exceptions data.
  • no dynamic heap allocations (excluding initialization).
  • nested exceptions (including CATCH section).
  • support for separate signal handlers per each exception' nesting level.
  • support for POSIX real-time signals.
  • automatic thread crash detection.
  • restartable TRY section.
  • exceptions stack backtracing.
  • manpage included.
  • tests included.

Project Activity

See All Activity >

License

GNU Library or Lesser General Public License version 3.0 (LGPLv3)

Follow libcxc

libcxc Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of libcxc!

Additional Project Details

Operating Systems

Linux

Intended Audience

Developers

Programming Language

C

Related Categories

C Software Development Software, C Libraries

Registered

2014-09-24