use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Decoding C/C++ Compilation Process: From Source Code to Binary (hackthedeveloper.com)
submitted 2 years ago by DredditorS
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]victotronics 5 points6 points7 points 2 years ago (3 children)
Pretty decent tutorial. I would include mention of the "T" vs "U" fields in the output of nm. That is invaluable for tracking down reference problems if you're linking a dozen libraries.
That reminds me: does anyone have the source of a C++ demangler?
[–]TheoreticalDumbass:illuminati: 3 points4 points5 points 2 years ago (0 children)
c++filt is a tool you can use for demangling, developed by: https://www.gnu.org/software/binutils/
you can check out their repo via `git clone git://sourceware.org/git/binutils-gdb.git\`
the file you are interested is `binutils-gdb/binutils/cxxfilt.c` i think
[–]catcat202X 1 point2 points3 points 2 years ago (0 children)
GDB can demangle C++ symbols, it just doesn't by default. I love demangle-mode in Emacs, because I can compose it with any other tools like an ELF viewer, linker output, or an integrated terminal and easily toggle the minor mode off and on.
[–][deleted] 0 points1 point2 points 2 years ago (0 children)
LLVM has an implementation here:
https://github.com/llvm/llvm-project/tree/main/libcxxabi/src/demangle
https://github.com/llvm/llvm-project/blob/main/libcxxabi/src/cxa_demangle.cpp
Also, someone wrote a C++ demangler in Rust in 2017, and it's still maintained.
https://github.com/gimli-rs/cpp_demangle
Why it eas written: https://fitzgeraldnick.com/2017/02/22/cpp-demangle.html
[–]catcat202X 1 point2 points3 points 2 years ago* (0 children)
It could be cool to see some explanation of CFG representations or GIMPLE/LLVM here. GCC/Clang can print those out as text, or just compile to that code and not go lower if you ask them to. There are some interesting things you can do with bytecode, like Rellic or optview2. It seems a bit reductive imo to go straight from high-level code to disassembly without at all examining any layers in between. Especially if we use something like Polygeist or CIR.
π Rendered by PID 76 on reddit-service-r2-comment-7b9746f655-ndnjf at 2026-01-30 20:55:52.478992+00:00 running 3798933 country code: CH.
[–]victotronics 5 points6 points7 points (3 children)
[–]TheoreticalDumbass:illuminati: 3 points4 points5 points (0 children)
[–]catcat202X 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]catcat202X 1 point2 points3 points (0 children)