{"id":15010919,"url":"https://github.com/caiorss/c-cpp-notes","last_synced_at":"2025-05-15T05:07:51.573Z","repository":{"id":45630930,"uuid":"93332493","full_name":"caiorss/C-Cpp-Notes","owner":"caiorss","description":"Notes about modern C++, C++11, C++14 and C++17, Boost Libraries, ABI, foreign function interface and reference cards.","archived":false,"fork":false,"pushed_at":"2025-02-16T08:31:25.000Z","size":37045,"stargazers_count":735,"open_issues_count":6,"forks_count":143,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-05-15T05:07:42.489Z","etag":null,"topics":["abi","c","cpp","cpp11","cpp14","cpp17","dll","dynamic","examples","ffi","ffi-bindings","ffi-wrapper","fsharp","guide","haskell","interface","library","reference","research","shared"],"latest_commit_sha":null,"homepage":"https://caiorss.github.io/C-Cpp-Notes","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caiorss.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-04T18:13:20.000Z","updated_at":"2025-04-30T12:40:53.000Z","dependencies_parsed_at":"2025-02-08T02:02:31.562Z","dependency_job_id":"11fe761e-8c9c-4270-9875-659d5c57a75b","html_url":"https://github.com/caiorss/C-Cpp-Notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiorss%2FC-Cpp-Notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiorss%2FC-Cpp-Notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiorss%2FC-Cpp-Notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiorss%2FC-Cpp-Notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caiorss","download_url":"https://codeload.github.com/caiorss/C-Cpp-Notes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254276447,"owners_count":22043867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abi","c","cpp","cpp11","cpp14","cpp17","dll","dynamic","examples","ffi","ffi-bindings","ffi-wrapper","fsharp","guide","haskell","interface","library","reference","research","shared"],"created_at":"2024-09-24T19:37:25.457Z","updated_at":"2025-05-15T05:07:46.563Z","avatar_url":"https://github.com/caiorss.png","language":"C++","readme":"#+INCLUDE: theme/style.org \n#+TITLE: CPP C++ Papyrus \n#+DESCRIPTION: cpp/c++ code examples and demonstrations.\n#+AUTHOR:      Caio Rodrigues Soares - caiorss [DOT] rodrigues [AT] gmail [DOT] COM\n#+STARTUP: content \n\n* C++ - CPP \n** Quick Access \n\n  + [[file:standard_library_map.org][Standard Library Map]]\n\n  + [[file:STL_Input_and_output.org][Standard Library IO - Input and Output]]\n\n  + [[file:Preprocessor_and_Macros.org][Preprocessor and macros]]  \n\n  + [[file:Libraries.org][C and C++ Libraries Bookmarks]]\n\n  + [[file:compiler-flags-options.org][Compiler flags and options]]\n\n  + https://devdocs.io/ \n    + =\u003e DevDocs - Quickreference documentation of APIs of multiple\n      programming languages, including, C, C++, Rust, DLang,\n      JavaScript, Java, Typescript. C# (CSharp), GO (Golang),\n\n** Core C++ \n\n   + [[file:technology_landscape.org][Technology Landscape and Usage of C++]] \n\n   + [[file:Understanding-CPP.org][Understanding C++]] (C++ in-depth)\n     + Exploring C++ basic and advanced concepts and also modern C++\n       features with both small and reproducible C++ sample programs and\n       interactive examples taken from the CERN's ROOT/Cling REPL tool.\n\n   + [[file:passing-lambda.org][Passing C++ Lambdas to C function-pointer callbacks]] \n\n   + [[file:standard_library_map.org][Standard Library Map]]\n     * Hyperlinks to the C++ standard library and C++ ISO standard\n       documentation categorized by common functionality. \n\n   + [[file:STL%20Iterators%20and%20Algorithms.org][STL Iterators and Algorithms]]\n\n   + [[file:STL_Input_and_output.org][Standard Library IO - Input and Output]]\n\n   + [[file:Libraries-and-featuresCPP17.org][C++17 and C++20 - new features and containers]]\n\n   + [[file:CPP-template-metaprogramming.org][Template Metaprogramming]]\n     + also known as generic programming.\n\n   + [[file:Preprocessor_and_Macros.org][Preprocessor and macros]]  \n\n   + [[file:math_and_numerical_computing.org][Math and numerical computing]]\n\n   + [[file:multi-threading.org][Multithreading and concurrency]] \n\n   + [[file:cpp-design-patterns.org][Design Patterns]]\n     + Object Oriented Design Patterns + Generic Programming Design\n       Patterns + Functional Programming.\n\n   + [[file:cpp-reference-card.org][General Programming Reference Card]]\n** Libraries and frameworks\n\n   + [[file:standard_library_map.org][Standard Library Map]]\n     * Hyperlinks to the C++ standard library and C++ ISO standard\n       documentation categorized by common functionality. \n\n   + [[file:boost-libraries.org][Boost Libraries / Boost Framework]]\n     * Boost Libraries (note: Boost libraries are regarded as a\n       complement of the C++ standard library and many of its\n       components come from Boost libraries.)\n\n   + [[file:cpp-libraries-review.org][C++ Libraries Review / Lightweight libraries]]\n\n   + [[file:Libraries.org][C and C++ Libraries Bookmarks]]\n     + Bookmarks of C++ libraries and frameworks for many domains,\n       including: general C++ programming; system programming; embedded\n       systems; physics, engineering and numerical computing.\n\n   + [[file:embedded_scripting_languages.org][Embedded Scripting Languages]]\n     + Survey of small and lightweight programming languages\n       available as libraries that can be embedded in C++\n       application for adding scripting capabilities. \n** System Programming \n\n   + [[file:Linux-unix-system-programming.org][Linux and Unix system programming in C++]]\n     + System programming on Unix-like operating system with focus on Linux.\n\n   + [[file:WindowsAPI-cpp.org][Windows API Programming in C++]]\n     * C++ system programming for Win32/Win64 API. Note: The Windows API\n       is not part of the ISO C++ Standard and is exclusive to this\n       operating system.\n\n** C and C++ Tooling\n*** Building Systems and package managers  \n\n + [[file:compiler-flags-options.org][Compiler flags and options]]\n   + Reference card for C++ compiler options. GCC, Clang and\n     MSVC(VC++) compilers.\n\n + [[file:building-system-cmake.org][Cmake Building System]]\n   + Coverage of CMake building system. One of the most used building\n     system and with the best cross-platform support.\n\n + [[file:building-systems.org][Other building systems]]\n   + Coverage of C++ most used building systems such as GNU-Make and\n     so on.\n\n + [[file:package-managers.org][Package Managers]]\n\n*** General \n\n + [[file:Tooling.org][Tooling]]\n   + Compilation of several development tools for C and C++. \n\n + [[file:Cpp-C-Debuggers.org][C and C++ Debuggers Notes]]\n   * Notes about C and C++ debuggers. Covered: GDB (GNU Debugger) and\n     WinDBG (Windows Debugger).\n\n + [[file:Doxygen-documentation.org][Doxygen - Documentation Generator]]\n   * Doxygen documentation generator examples. \n\n + [[file:Root-cern-repl.org][CERN's Root C++ REPL and CLING]]\n   + Notes about the CERN's interactive interpereter based on\n     Clang/LLVM for C++ where the user can type and evaluate C++ code,\n     load libraries like shared libraries, boost libraries and and\n     also test C++ with immediate feedback. ROOT is invaluable tool\n     for learn, practicing C++ and create demonstrations.\n\n** Computer Graphics \n\n  + [[file:computer-graphics.org][Computer Graphics]]\n    + Basics of computer graphics programming and math focused on OpenGL API.\n\n** Miscellaneous \n\n   + [[file:cpp-alternatives.org][C++ Alternatives and mixed C++ development]]\n     * Mixed C++ development strategies and alternative programming\n       languages to C++ with the following capabilities: native code\n       compilation; high performance; static typing and ability to call\n       C-APIs.\n\n   + [[file:DLL-Binary-Components-SharedLibraries.org][Shared Libraries - DLL - Binary Components in C++ / FFIs - Language Interoperability]]\n     * Creating shared libraries, C-interfaces or C-APIs for C++\n       functions and classes. A C-interface allows a C++ library to be\n       consumed from C and many programming languages with\n       foreign-function interface support such as Python (ctypes FFI),\n       C# Pinvoke, Java (JNA) and so on.\n\n   + [[file:CwrapperToQtLibrary.org][C Wrapper for C++ Libraries and Interoperability]]\n     + Presents how to create C wrappers for calling C++ libraries\n       from C and other programming languages via FFI - Foreign\n       Function Interface. This note provides a sample C wrapper for QT-5\n       Widgets GUI library that allows calling QT from C, Julia\n       language and D language. The techniques used in this particular\n       case can be reused for interoperability between many other C++\n       libraries and programming languages.\n\n   + [[file:Interfacing-C-APIs-and-libraries.org][Interfacing C APIs and libraries]]\n     + Examples about how to interface and create wrappers to C APIs or\n       libraries in modern C++ or C++ \u003e= C++11 and use STL containers\n       with C-APIs.\n\n   + [[file:resources-executable.org][Embed Resources into Executables]] (Resource compilation)\n     + About how to embed resources, assets, images, texts and binary\n       files into executables.\n\n   + [[file:sample-modern-cpp-programs.org][Sample programs in modern C++ style]]\n     + Complete small C++ programs and proof-of-concepts.\n\n   + [[file:Rosetta_Stone_Translation.org][Rosetta Stone - English/Portuguese - Technical Terminology]]\n     + Intended as reference about English technical terminology for\n       Portuguese speakers. (Note: This text database has more 1.5\n       megabyte, what can be heavy for phone users)\n** Bookmarks \n\n + [[file:bookmarks.org][Bookmarks]]\n   + Bookmarks, tools, online tools, conference videos and so on.\n\n + [[file:Videos-and-conferences.org][Videos and Conferences]]\n\n** This Document \n\n *This Repository* \n \n + https://github.com/caiorss/C-Cpp-Notes\n\n *This Site*\n\n + https://caiorss.github.io/C-Cpp-Notes/\n\n\n *Notes* \n\n  + This document can also be viewed from Smart Phones, Tablets or any\n    other small screen devices.\n\n  + To open a link (a.k.a hyperlink) in a new tab, hold CTRL key and\n    click at the linl.\n\n  + The HTML version of this document was tested on web browsers:\n    Firefox, Chrome, Chromium, Microsoft Edge. Unfortunately the html\n    version still does not work well on Safari web browser. \n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaiorss%2Fc-cpp-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaiorss%2Fc-cpp-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaiorss%2Fc-cpp-notes/lists"}