Created raylib libc dependency (markdown)

master
Ray před 5 roky
rodič
revize
c443af8440
1 změnil soubory, kde provedl 59 přidání a 0 odebrání
  1. +59
    -0
      raylib-libc-dependency.md

+ 59
- 0
raylib-libc-dependency.md

@ -0,0 +1,59 @@
raylib is a C library and inevitably it depends on some implementation of [C standard library (libc)](https://en.wikipedia.org/wiki/C_standard_library).
While working on raylib 3.0 I took some time to analyze that dependency in detail, no plans to remove it (maybe minimize it a bit) but I think it could be useful to have the knowledge where it is required.
### stdlib.h
| module | libc function | raylib function |
| :----: | --------------- | ----------------- |
| core | srand() | InitTimer() |
| core | abs(), rand() | GetRandomValue() |
| core | atexit() | InitKeyboard()<br>InitTerminal() |
| shapes | fabs() | CheckCollisionCircleRec()<br>GetCollisionRec() |
| utils | exit() | TraceLog() |
### stdio.h
Note that file loading functionality is currently being centralized to `LoadFileData()`/`SaveFileData()`, most of the file access calls below will disappear soon, replaced by memory buffers parsing.
| module | libc function | raylib function |
| :----: | --------------- | ----------------- |
| text | fopen(), fseek(), fread(), fwrite(), fclose() | LoadBMFont() |
| text | fgets() | LoadBMFont() |
| textures | fopen(), fseek(), fread(), fwrite(), fclose() | ExportImageAsCode()<br>LoadDDS()<br>LoadPKM()<br>LoadKTX()<br>SaveKTX()<br>LoadPVR()<br>LoadASTC() |
| models | fopen(), fseek(), fread(), fwrite(), fclose() | LoadIQM()<br>ExportMesh()<br>LoadModelAnimations() |
| audio | fopen(), fseek(), fread(), fwrite(), fclose() | ExportWaveAsCode()<br>LoadWAV()<br>SaveWAV() |
| utils | sprintf() | TraceLog() |
| utils | fopen(), fseek(), fread(), fwrite(), fclose() | LoadFileData()<br>SaveFileData() |
### string.h
| module | libc function | raylib function |
| :----: | --------------- | ----------------- |
| core | strlen() | GetFileNameWithoutExt()<br>GetDirectoryPath()<br>GetPrevDirectoryPath()<br>OpenURL()<br>InitEvdevInput() |
| core | strrchr() | GetExtension()<br>EventThreadSpawn() |
| core | strcmp() | IsGamepadName()<br>EmscriptenKeyboardCallback() |
| text | strcmp() | TextIsEqual() |
| text | strcpy() | TextAppend()<br>TextReplace() |
| text | strncpy() | TextToUtf8()<br>TextReplace() |
| text | strcat() | TextJoin() |
| text | strstr() | *several funcs.* |
| textures | strlen() | ImageTextEx() |
| raudio | strcmp() | IsFileExtension() |
### math.h
| module | libc function | raylib function |
| :----: | --------------- | ----------------- |
| models, shapes, camera | sinf(), asinf(), cosf()<br>acosf(), sqrtf(), atan2f() | *several funcs.* |
| raymath | sinf(), cosf(), acosf(), tan()<br>fabs(), sqrtf(), fminf(), fmaxf() | *several funcs.* |
| core | tan() | BeginMode3D() |
| rlgl | atan2() | SetVrConfiguration() |
| text | sqrtf() | GenImageFontAtlas() |
### stdarg.h
| module | libc function | raylib function |
| :----: | --------------- | ----------------- |
| text | va\_list, va\_start(), vsprintf(), va\_end() | TextFormat() |
| utils | va\_list, va\_start(), vsprintf(), va\_end() | TraceLog() |

Načítá se…
Zrušit
Uložit