Hinterlib: Difference between revisions
(Created page with "{{stub}} thumb|right|Hinterlib's logo is a silhouette of {{wp|Otto von Bismarck}}. '''Hinterlib''', often referred to jointly with its Cosmopolitan-based sister project as '''Hinterlib/Neopolitan''', is a <tt>libc</tt> surrogate library created by Alexander Nicholi as a more embedded-friendly surrogate to use than alternatives like {{wp|GLib}} or {{gh|wolkykim/qlibc|qLibc}}. ==History== Hinterlib was originally c...") |
m (image, not emblem) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{stub}} | {{stub}}{{infobox swproj | ||
[[ | |name=Hinterlib | ||
|image=Hinterlib.jpg | |||
|by=Alexander Nicholi | |||
|langs={{wp|C (programming language)|C}} | |||
|systems=[[Sirius DOS]], Linux, Windows, macOS, Game Boy Advance, and others | |||
|archs={{wp|Intel 80286|i286}}, {{wp|IA-32}}, {{wp|x86-64}}, {{wp|ARM architecture family|ARMv4T}} | |||
|lic=[[Artisan Software Licence#ASL 1.1|ASL 1.1]] | |||
|repo={{gh|aquefir/hinterlib}} | |||
}} | |||
'''Hinterlib''', often referred to jointly with its [[#Neopolitan|Cosmopolitan-based sister project]] as '''Hinterlib/Neopolitan''', is a <tt>libc</tt> surrogate library created by [[User:Alexander|Alexander Nicholi]] as a more embedded-friendly surrogate to use than alternatives like {{wp|GLib}} or {{gh|wolkykim/qlibc|qLibc}}. | '''Hinterlib''', often referred to jointly with its [[#Neopolitan|Cosmopolitan-based sister project]] as '''Hinterlib/Neopolitan''', is a <tt>libc</tt> surrogate library created by [[User:Alexander|Alexander Nicholi]] as a more embedded-friendly surrogate to use than alternatives like {{wp|GLib}} or {{gh|wolkykim/qlibc|qLibc}}. | ||
Latest revision as of 04:50, 20 June 2024
Hinterlib | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Created by | Alexander Nicholi | ||||||||||
Written in | C | ||||||||||
OSes | Sirius DOS, Linux, Windows, macOS, Game Boy Advance, and others | ||||||||||
ISAs | i286, IA-32, x86-64, ARMv4T | ||||||||||
Licence | ASL 1.1 | ||||||||||
Repository | aquefir/hinterlib |
Hinterlib, often referred to jointly with its Cosmopolitan-based sister project as Hinterlib/Neopolitan, is a libc surrogate library created by Alexander Nicholi as a more embedded-friendly surrogate to use than alternatives like GLib or qLibc.
History
Hinterlib was originally created under the name unilib on Christmas Day, 2019. Starting with semantic version 1.2, it was split from a monolithic library into several more modular libraries.
Features
Hinterlib provides many useful utilities that are staples of application and library programming, including error reporting, crash-first programming tools, debug I/O wrappers, string manipulation, containers, high-level memory management, and succinct notations for data types of integers, floating-point numbers, and geometric primitives. It also tries to support compiler intrinsics for things like SIMD operations and exact-width integers which are non-standard in ANSI C.
Neopolitan
While Hinterlib supports many target platforms, Neopolitan was created to target the special Actually Portable Executable format created by Justine Tunney. Its name is a derivative of the reference implementation of APE, called Cosmopolitan libc. It was created because it is not a platform to be targeted in the usual sense, and also because APE's fixed, x86-64 only ABI allows the creation of additional types that escape the practical limits on complexity imposed upon Hinterlib for the sake of portability.