A stand-alone core runtime library for the eC programming language
(part of the Ecere SDK)
Copyright (c) 1996-2025, Jérôme Jacovella-St-Louis
Copyright (c) 2005-2025, Ecere Corporation
Licensed under the BSD 3-Clause License
Source: https://github.com/ecere/eC
Python packaging: https://github.com/ecere/pyecrt
The eC runtime library implements:
- management of eC data types, including the various flavors of structs and classes with and without reference counting, runtime type information, virtual method tables, reflection with the ability to register and define classes at runtime (loading/ejecting new dynamic modules), string management, generic field values containing type information, binary (de)serialization,
- various types of containers (dynamic arrays, hash tables, linked lists, AVL Trees, multiple forms of associative arrays),
- files I/O including temporary files, bidirectional processing input/output pipes, creating/decompressing/accessing files from archives (including resources packed directly within the executables), file/directory monitoring, cross-platform file handling functions,
- multithreading support including threads, mutexes, semaphores and conditions,
- internationalization (extensive unicode support with the Unicode data resources embedded within the library), internationalization of text strings compatible with GNU gettext, i18n of libecrt itself currently including Chinese, Brazilian Portuguese, Spanish, partial Russian translation, as well as the start of other languages,
- date and time handling,
- a JSON parser and writer (with support for automatic JSON (de)serialization of any eC types), as well as utilities to manage application settings stored in JSON files.
See https://ecere.org/docs/ecere/ecere.html and https://ecere.org/docs/ecereCOM/ecere.html for the API documentation of this core eC runtime library, which covers the sys
and com
namespaces of the Ecere runtime library.
The Ecere Tao of Programming is a Programmer's Guide (still work in progress)
teaching the foundations of the eC programming language, also including a C primer.
See also the samples provided with the SDK, and some featured projects as prebuilt binaries at https://ecere.org/software.
Reach out on IRC - #ecere on irc.libera.chat