/C-Cpp-Notes

Notes about modern C++, C++11, C++14 and C++17, Boost Libraries, ABI, foreign function interface and reference cards.

Primary LanguageC++

CPP C++ Papyrus

C++ - CPP

Core C++

Libraries and frameworks

C and C++ Tooling

Building Systems and package managers

General

  • Tooling
    • Compilation of several development tools for C and C++.
  • C and C++ Debuggers Notes
    • Notes about C and C++ debuggers. Covered: GDB (GNU Debugger) and WinDBG (Windows Debugger).
  • Doxygen - Documentation Generator
    • Doxygen documentation generator examples.
  • CERN’s Root C++ REPL and CLING
    • Notes about the CERN’s interactive interpereter based on Clang/LLVM for C++ where the user can type and evaluate C++ code, load libraries like shared libraries, boost libraries and and also test C++ with immediate feedback. ROOT is invaluable tool for learn, practicing C++ and create demonstrations.

System Programming

Miscellaneous

  • C++ Alternatives and mixed C++ development
    • Mixed C++ development strategies and alternative programming languages to C++ with the following capabilities: native code compilation; high performance; static typing and ability to call C-APIs.
  • Shared Libraries - DLL - Binary Components in C++ / FFIs - Language Interoperability
    • Creating shared libraries, C-interfaces or C-APIs for C++ functions and classes. A C-interface allows a C++ library to be consumed from C and many programming languages with foreign-function interface support such as Python (ctypes FFI), C# Pinvoke, Java (JNA) and so on.
  • C Wrapper for C++ Libraries and Interoperability
    • Presents how to create C wrappers for calling C++ libraries from C and other programming languages via FFI - Foreign Function Interface. This note provides a sample C wrapper for QT-5 Widgets GUI library that allows calling QT from C, Julia language and D language. The techniques used in this particular case can be reused for interoperability between many other C++ libraries and programming languages.
  • Interfacing C APIs and libraries
    • Examples about how to interface and create wrappers to C APIs or libraries in modern C++ or C++ >= C++11 and use STL containers with C-APIs.
  • Embed Resources into Executables (Resource compilation)
    • About how to embed resources, assets, images, texts and binary files into executables.
  • Sample programs in modern C++ style
    • Complete small C++ programs and proof-of-concepts.

Bookmarks

This Document

This Repository

This Site

Note: This document can also be viewed from Smart Phones, Tablets or any other small screen devices.