Base layer used by Laith for all his C programming projects.
The entire API is located in base.h and contains support for:
- General Base Layer
- Arena Allocators
- Length-Based Strings
- Networking
- Threading
- Time
Laith's preferred C style guide.
-
All types, structs, and unions should be in
PascalCase -
Enums should be in
Type_Membercase. -
Functions should be in
snake_casewith the domain first. -
Variables should be in
snake_case. -
Globals should use the
globalkeyword inPascalCasepre-pended with 'G_' -
Hash defines should be in
ALL_CAPS -
Utility macros should be in
PascalCase -
Function macros should be in
snake_case -
Use three types of comments:
// lt:for a plain comment//- lt:subsection within a function or block-
for file level sections
//////////////////////////////// //~ lt:
-
All code must be in a
src/directory -
All programs must contain a
build.shand/or abuild.bat- Builds should be released in the
build/directory - Build scripts should support both
debugandreleasearguments
- Builds should be released in the
This library is released under GPL.