nanoprintf
printf
nanoprintf | printf | |
---|---|---|
5 | 4 | |
575 | 365 | |
- | - | |
5.5 | 0.0 | |
2 days ago | 3 months ago | |
C++ | C | |
GNU General Public License v3.0 or later | MIT License |
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.
nanoprintf
-
nanoprintf VS callback_printf - a user suggested alternative
2 projects | 16 Aug 2023
- Nanoprintf – The smallest public printf implementation for its feature set
-
DOOM! on the #emfcamp TiDAL badge
It turns out that DOOM expects a little more POSIX compliance from it's C library than Micropython provides, in particular the printf implementation is lacking many features. The good part is that because I'm building an entirely separate binary application, I can use someone elses printf, and finally, after a lot of pain, it runs!
-
Actual Challenges Faced In Software
You might be interested in this or similar: https://github.com/charlesnicholson/nanoprintf
- Nanoprintf v0.1.0 Released, drop-in [v]snprintf
printf
-
MISRA C
From my experience, maintaining a standalone/embedded printf library - MISRA is a combination of two things: Common-sense rules, and pain-in-the-ass rules. Example of the latter: Avoiding implementation-defined types like `int` in places where my code doesn't care about what sizeof(int) is.
I was able to accommodate most (?) of the MISRA rules (https://github.com/eyalroz/printf/issues/77), but mine is just a small library, so I don't know how restrictive they would be for a larger codebase.
-
Sprintf without C library
Note that https://github.com/eyalroz/printf is the fork of mpaland that is being maintained.
-
What is the most efficient way to create an ASCII string from multiple types?
Take a look at an embedded focused sprintf like this one and measure: https://github.com/eyalroz/printf
-
Cppfront, Herb Sutter's proposal for a new C++ syntax
> I have some bad C++ experienced, and I know enough programmers I respect who stick to C over C++.
Do you know such people who work on large software systems, as opposed to, say, micro-controller firmware, or kernel drivers and such?
(Asking as a person who maintains an important(ish) C library for embedded coders: https://github.com/eyalroz/printf)
What are some alternatives?
printf - Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.
gx - A Go->C++transpiler meant for data-oriented gameplay and application programming especially for WebAssembly. Using this mostly in the context of specific personal projects and heavily focusing the feature set on those. Used in my Raylib gamejam project: https://github.com/nikki93/raylib-5k -- also being used to develop a private longer term game project and a note-taking app.
defmt - Efficient, deferred formatting for logging on embedded systems
callback_printf - callback_printf allows the implementation of portable sprintf, snprintf, vsprintf and vsnprintf like output functions. The code includes wrappers for those functions. It supports all formats of the C 11 standard. wchar_t arguments and strings are printed as UTF-8. It's pretty fast, threadsafe and has no dependencies to other libraries.
doomgeneric - Easily portable doom
cppfront - A personal experimental C++ Syntax 2 -> Syntax 1 compiler
lfbb - A Lock Free Bipartite Buffer Library written in standard C11
esp-idf - Espressif IoT Development Framework. Official development framework for Espressif SoCs.
jakt - The Jakt Programming Language
pwned - Simple C++ code for simple tasks