Collection of cross-platform single-header C libraries for doing a lot of stuff! (Still WIP)
ice_libs is collection of Single-Header C libraries, Designed to introduce stuff that sokol and some single-header libs didn't offered, In addition to more stuff offered by these libs.
- Portability: Supports ANSI C and onwards!
- Cross-Platform: Runs on a lot of platform, Including Game Consoles.
- Customizable: You can build shared libs of any ice library by the way you want.
- Platform-Detectable: ice libraries can detect platform that program runs on, So you are not forced to define implementation platform and backend used.
- Controllable: Offers custom memory allocators, Custom calling conventions, And more...
- Bindings-Friendly: Designed to make bindings much easier!
- Easy to code.
- Easy to license: ice libraries allows you to choose between 2 licenses: Public Domain and MIT!
|library||library description||platforms supported||languages||lines of code|
|ice_ffi.h||Cross-Platform Single-Header library to work with shared libs||Microsoft platforms, Unix-based platforms||C||299|
|ice_fs.h||Cross-Platform Single-Header library for filesystem functions||Anywhere||C||1888|
|ice_clipboard.h||Cross-Platform Single-Header Clipboard library||Anywhere||C, C++, Obj-C||706|
|ice_ram.h||Cross-Platform Single-Header library to get RAM info||Microsoft platforms, Unix-based platforms, Web (Emscripten), Sony PlayStation Portable||C||384|
|ice_time.h||Cross-Platform Single-Header Time library||Anywhere||C||917|
|ice_easings.h||Cross-Platform Single-Header Easings library||Anywhere||C||447|
|ice_math.h||Cross-Platform Single-Header Math library||Anywhere||C||3609|
|ice_al.h||Cross-Platform Single-Header OpenAL API loader||OpenAL API supported platforms||C||656|
|ice_steam.h||Cross-Platform Single-Header Steamworks API loader||Steamworks API supported platforms||C||4754|
|ice_test.h||Cross-Platform Single-Header Tiny unit testing lib||Anywhere||C||165|
|ice_str.h||Cross-Platform Single-Header for working with strings||Anywhere||C||614|
|ice_arr.h||Cross-Platform Single-Header for working with numeric arrays||Anywhere||C||773|
|ice_battery.h||Cross-Platform Single-Header for getting battery info||Microsoft platforms, Unix-based platforms, Web (Emscripten), Nintendo Switch, Sony PlayStation Portable, Sony PlayStation Vita||C||996|
NOTE: Unix-based platforms means Linux, iOS, OSX, Haiku, BeOS, and Android.
For docs of ice_libs see here!
- Eduardo Bart, André L. Alvares, and Nicolas Sauzede for encouraging me to work on this!
- Together C and C++ Discord Server community, They are very amazing and helped me when got stuck.
- Sean Barrett, Andre Weissflog, and Micha Mettke as i got inspiration from their libs to work on my own!
- Everyone including you!