Git Product home page Git Product logo

caiorss / c-cpp-notes Goto Github PK

View Code? Open in Web Editor NEW
694.0 45.0 132.0 31.02 MB

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

Home Page: https://caiorss.github.io/C-Cpp-Notes

Makefile 0.25% C++ 89.76% C 2.23% F# 3.47% C# 0.16% Haskell 0.66% Emacs Lisp 0.48% Scala 1.63% Python 1.35%
cpp c ffi ffi-bindings ffi-wrapper interface abi shared library dll dynamic examples research fsharp haskell cpp11 cpp14 cpp17 reference guide

c-cpp-notes's Introduction

CPP C++ Papyrus

C++ - CPP

Quick Access

Core C++

Libraries and frameworks

System Programming

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.

Computer Graphics

  • Computer Graphics
    • Basics of computer graphics programming and math focused on OpenGL API.

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.
  • Rosetta Stone - English/Portuguese - Technical Terminology
    • Intended as reference about English technical terminology for Portuguese speakers. (Note: This text database has more 1.5 megabyte, what can be heavy for phone users)

Bookmarks

This Document

This Repository

This Site

Notes

  • This document can also be viewed from Smart Phones, Tablets or any other small screen devices.
  • To open a link (a.k.a hyperlink) in a new tab, hold CTRL key and click at the linl.
  • The HTML version of this document was tested on web browsers: Firefox, Chrome, Chromium, Microsoft Edge. Unfortunately the html version still does not work well on Safari web browser.

c-cpp-notes's People

Contributors

caiorss avatar che-kir avatar cyrilbois avatar fhk avatar mikaop avatar nelsonjchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c-cpp-notes's Issues

Question about cpm (package manager)

I do see the cpm package manager as linked here is inactive. But there seems to be similarly named cpm.cmake.
I am not sure if former and later are related but would be nice to add link to later.

Minor Syntax Typo

Thank you for the wonderful collection of resources.

The issue is related to content generated by this page.

  • In section 1.3.1 Tools Shortcuts:
    TPM - Trusted Platform Module management 	tmp.msc
    
    should be tPm.msc:
    TPM - Trusted Platform Module management 	tpm.msc
    

Regards,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.