A simple memory tracker for debug purpose. NOT GC (Garbage Collector).
- Primitive Types
- String
- StringLines
- StringLines Array
- Dyanmic Array Types
- Generic
- Unknown Type
- Unknown Object
- Fixed Length Arrays
- Struct
- Bare
- Vector Types
- Struct
- Array
- Matrices
- Linked List
For Metaprograming
The Development just had started with OpenMP, Docs Here. And with Pthreads impletation pending for the future.
z_ is made with modularity in mind so many parts of it are as self-isolated as they can,
it doesnt even include standard library except stddef.h, stdint.h and stdbool.h for type
declaration but they still require the bare minimum base for to be working properly such
as, z_/types/types/arr.h can be included in itself but it still require base.h of types
for z__u32 and mem.h for memory allocation definations.
Inorder to integrated z_ in your project
git clone --depth=1 git://github.com/zakarouf/z_.git
cp -R z_/src /to/your/project/source/z_Then include the header by
#include "z_/z_.h"Make sure to include the source files (*.c) from z_ in your build script
OR
We can Create A library to link your program with In that case, do
./make-libWill result a library libzkcollection.a created in the parent directory.
Inside all 4 sub-library there is config.h that can be modified by the user in-order to
change the behaviour, include, exclude the fuctionality of that sub-library.
Such as inside of src/types/config.h
#define Z___TYPE_CONFIG__USE_TYPE_LINKEDLISTThis particular config tells to include the Linked List type and its functionaity at core; when
z_.h is included, and if we comment out it
//#define Z___TYPE_CONFIG__USE_TYPE_LINKEDLISTWill result in a error This forces to you to include linked list type manually.
#include "z_/types/types/llist.h"Now this will work as it should.
Additional syntax Highlighting for types and such are include in the extra/c.vim.
To add it into your project, either copy the contents of the c.vim file or put
c.vim into your after/syntax folder, such as ~/.config/vim/after/syntax/ directory.
This will load on top of your syntax highlighting for every .c file.
This library is not perfect and I know there are many others like it, but this one is mine.