libc VS libspng

Compare libc vs libspng and see what are their differences.

libc

libc targeted for embedded systems usage. Reduced set of functionality (due to embedded nature). Chosen for portability and quick bringup. (by embeddedartistry)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
libc libspng
2 7
479 690
1.0% -
7.3 3.2
3 months ago about 2 months ago
C C
MIT License BSD 2-clause "Simplified" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

libc

Posts with mentions or reviews of libc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-22.
  • Nolibc: A minimal C-library replacement shipped with the kernel
    4 projects | news.ycombinator.com | 22 Jan 2023
    Seems unlikely. My spot check of the the two vfprintf implementations shows no flow from one to the other, and shows that part of the Cosmopolitan code has an older lineage than nolibc.

    The nolibc source has many reference to copyright held by "Willy Tarreau", under LGPL-2.1 OR MIT license, with a copyright date starting in 2017.

    The string "Tarreau" does not exist in the Cosmopolitan library, so that's a strong negative there. Let's look closer.

    The file organization is quite different. And so is the implementation. So that's another negative.

    Compare the vfprintf in nolibc at https://elixir.bootlin.com/linux/v6.2-rc4/source/tools/inclu... (a 'minimal vfprintf()') with the one in cosmopolitan starting at https://github.com/jart/cosmopolitan/blob/master/libc/stdio/....

    Right away we can see nolibc places many functions in the same file while Cosmopolitan uses a one-function-per-filename organization.

    Cosmopolitan's fvprintf locks the file (which nolibc doesn't need to do) then calls vfprintf_unlocked which calls __fmt at https://github.com/jart/cosmopolitan/blob/master/libc/fmt/fm... , which is the actual implementation. It look very different from NOLIBC's.

    Okay, so perhaps that's they way now but not at the beginning?

    We can also go back to Cosmopolitan's original implementation and see how vfprintf goes through https://github.com/jart/cosmopolitan/blob/c91b3c50068224929c... to call "palandprintf", which https://github.com/jart/cosmopolitan/blob/c91b3c50068224929c... says is copyright "Marco Paland" from 2014-2019.

    That's a few years older than the start of nolibc, available from https://github.com/mpaland/printf , and part of https://github.com/embeddedartistry/libc , a "libc targeted for embedded systems usage".

    Thus, multiple factors seem to agree that nolibc code is not used in the Cosmopolitan library.

  • Any ultra portable libc?
    1 project | /r/unix | 3 Dec 2021

libspng

Posts with mentions or reviews of libspng. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-30.

What are some alternatives?

When comparing libc and libspng you can also consider the following projects:

cosmopolitan - build-once run-anywhere c library

pngle - Pngle - PNG Loader for Embedding