[ol8_developer_EPEL] stb_sprintf-devel-1.10-0.41.20240213gitae721c5.el8.aarch64

Name:stb_sprintf-devel
Version:1.10
Release:0.41.20240213gitae721c5.el8
Architecture:aarch64
Group:Unspecified
Size:60733
License:MIT OR Unlicense
RPM: stb_sprintf-devel-1.10-0.41.20240213gitae721c5.el8.aarch64.rpm
Source RPM: stb-0-0.41.20240213gitae721c5.el8.src.rpm
Build Date:Thu Feb 22 2024
Build Host:build-ol8-aarch64.oracle.com
Vendor:Oracle America
URL:https://github.com/nothings/stb
Summary:Fast sprintf, snprintf for C/C++
Description:
This is a full sprintf replacement that supports everything that the C runtime
sprintfs support, including float/double, 64-bit integers, hex floats, field
parameters (%*.*d stuff), length reads backs, etc.

Why would you need this if sprintf already exists? Well, first off, it’s *much*
faster (see below). It’s also much smaller than the CRT versions
code-space-wise. We’ve also added some simple improvements that are super handy
(commas in thousands, callbacks at buffer full, for example). Finally, the
format strings for MSVC and GCC differ for 64-bit integers (among other small
things), so this lets you use the same format strings in cross platform code.

It uses the standard single file trick of being both the header file and the
source itself. If you just include it normally, you just get the header file
function definitions. To get the code, you include it from a C or C++ file and
define STB_SPRINTF_IMPLEMENTATION first.

It only uses va_args macros from the C runtime to do its work. It does cast
doubles to S64s and shifts and divides U64s, which does drag in CRT code on
most platforms.

It compiles to roughly 8K with float support, and 4K without. As a comparison,
when using MSVC static libs, calling sprintf drags in 16K.

Related Packages (Show Changelog) (Show Filelist)