app | ||
premake | ||
src | ||
.gitignore | ||
LICENSE.txt | ||
premake5.lua | ||
README.md |
C++ Lab
What is?
This is just c++ project that works as a engineering laboratory. C++ is an extension of the C language that adds some Oriented Programing Features. The C++ language is a strange one. Tries to give high level primitives to the developer but also the full responsibility of memory management and low level that characterizes the c language. So why to explore C++ today when so many high level languages exist in place? That's an obvious question right? The reason why is basically because C++ is at the same time a low level language and high level one. You got the access to low level trickery and also the primitives to implement the design patterns you usually find in any modern software project.
In a nutshell this project has the sole purpose to serve as a learning platform
What can you learn with C++
You can understand in a practical way how you can manage the memory manually. How you can avoid some of the most pitfalls like memory leak problems by following practices like RAII. By exploring the technics that revolve around memory allocation you can understand in a more profound way how languages like java, python, and rust manage memory and the obvious tradeoffs involved.
How to run this?
This c++ project uses premake5. Premake will generate the build files needed based on the development environment you need.
In my particular use case I use linux and the gmake
profile to build this project.
I run, as an example
premake5 gmake
make
Premake consumes the premake5.lua
file. This in turn will include other premake files that you can find in the premake directory.