hbcxx uses the Unix hashbang (or shebang) #!/path/to/interpreter technique to make C++ source code directly executable.
Modern C++, meaning C++11 or even C++14, feels like another language. This is not because the language has been changed massively but because the new
features encourage a different, and slightly higher level way to think
about writing C++. It's faster, more fun, supports lambdas, has tools to simplify memory management and includes regular expressions in the standard library.
hbcxx is a tool to keep things fast and fun by putting of the moment you have to write a build system and an install script. For simple programs, especially for quick and dirty personal toys, the day you have to write a proper build system may never come.
Instead just copy your C++ source code into $HOME/bin. Try it. It works.
Features
- Automatically uses ccache to reduce program startup times (for build avoidance).
- Enables -std=c++11 by default.
- Parses #include directives to automatically discover and compile other source code files.
- Recognises the inclusion of boost header files and, where needed, automatically links the relevant boost library.
- pkg-config integration.
- Direct access to underlying compiler flags (-O3, -fsanitize=address, - g).
- Honours the CXX environemnt variable to ensure clean integration with tools such as clang-analyzer's scan-build.