Pico C Standard Library
A compact and portable C Standard Library implementation
PicoCSL is a minimalist, highly compatible C Standard Library designed to streamline development across platforms, particularly for those working with legacy systems, embedded environments, and games. If you've encountered compatibility headaches when porting, maintaining legacy code, or working with non-standard environments, PicoCSL is here to simplify your workflow.
Lightweight and Self-Contained
With a dynamic library size under 40 KB, PicoCSL is not only compact but can also be bundled with your application or game, reducing external dependencies. This avoids common runtime errors like "The program can't start because msvcr120 DLL is missing", which often confuse end-users and require extra downloads. Often, these external installers not only introduce extra steps but also require administrative privileges–permissions that users may lack or be reluctant to grant. Instead, PicoCSL ensures a seamless, out-of-the-box experience that's just a double-click away.
Robust Legacy Platform Compatibility
PicoCSL is optimized to run on both modern and legacy systems, enabling software compiled with the latest Visual Studio to operate on platforms as old as Windows 95 and Win32s without changes. This compatibility opens new possibilities for maintaining, upgrading, and building classic applications without sacrificing access to modern development tools.
Separation of Core and OS-Dependent Functions
To facilitate portability, PicoCSL organizes functions into two categories:
- Portable Functions: Includes non-OS-dependent functions like
sprintf
,bsearch
, etc., which can run consistently across platforms. - OS-Dependent Functions: Encompasses functions like
fopen
andtime
that may vary by platform, easing the process of isolating and adapting platform-specific code where necessary.
Common Extension Functions
PicoCSL includes all the favorite non-standard utility functions frequently seen across compilers, such as:
tchar.h
- ANSI/UTF8 and wide character dual support (ex._tcscmp
)itoa
- integer to string conversionipow
- integer power functionisqrt
- integer square root functionalloca
- stack allocationstrtrim
- trim whitespace or other sequences from endsstrprecat
- prepend stringsstrrev
- reverse stringsstrtoargv
- parse an argument string into argc/argv formatargtostr
- append an argument to a string while escaping shell characters (such as quotes) so that it can be parsed correctly by a program started viasystem
xminmax.h
- min, max and limit macros
These functions enhance compatibility with pre-existing codebases while also being helpful utilities that reduce code duplication.
Clean Headers with Minimal Verbosity
Unlike many standard libraries that crowd your IDE's autocomplete with excessive macros and obscure headers, PicoCSL is crafted to keep headers concise and helpful. This design reduces the "macro spam" that often clutters code completion, helping you focus on relevant, useful suggestions instead of sifting through unnecessary definitions.
Ideal for Developers of Legacy Systems, Embedded Solutions, and Game Demos
PicoCSL's modular design, low memory footprint, and wide compatibility make it ideal for:
- Legacy Software Maintainers looking to bring older codebases to modern compilers without breaking functionality on vintage platforms.
- Game Developers focused on lightweight, cross-platform deployment with minimal dependencies.
- Embedded Developers who need an efficient, minimal library tailored for systems with limited resources and platform-specific requirements, or for compilers that don't include a standard library. All of the aforementioned "Portable Functions" can be used in freestanding implementations and environments.
Get Started with PicoCSL
With PicoCSL, reduce the hassle of cross-platform development and simplify legacy code maintenance, all while keeping your project footprint minimal. Give your software a true plug-and-play experience, whether it's running on the latest system or a legacy platform.
Software that uses PicoCSL
- A-Star Educational Tech-Demo
- Mystify Screensaver Tech-Demo
- Text-Pac (Statically Linked)
- Super-Assert (Statically Linked)
- EXE-SuperPack (Statically Linked)
- ε-VirtualMachine
- Quadrant Zero
- Virtual Bingo
- Palette Editor
- Address Checker
Contact for acquisition and licensing.