ITT: post essential c/c++ development tools

Pic related has saved my ass recently. Any other tools worth knowing about besides this and gdb?

Attached: download.jpg (229x160, 13K)

Other urls found in this thread:

blog.figma.com/webassembly-cut-figmas-load-time-by-3x-76f3f2395164
isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
twitter.com/SFWRedditGifs

gcc

yes i guess you could say this is essential.
Also g++ and GNU make.

Call gdb with - tui
I'm not sure if most people even know about that since it's buried in the man pages

>tui
>not cgdb

clang-format
I'm ashamed for myself to not work with debugger enough - gdb cli interface is constantly broken and that discouraged me from trying to learn it, debug macros are admittedly not enough
I've seen some neat trick for macro that sets up breakpoint from code (with compiler extension), putting this into error callbacks or just regular checks and break on first and every error sounds very useful
clang static analysis tools and clang-check
googletest

Apart from various Clang tools it's also worth mentioning:
AddressSanitizer
Doxygen
Astyle and Uncrustify

Never heard of it. Looks comfy

Didn't hear about it either. Thanks mate.

vim

>Call gdb with - tui
help how do i scroll the bottom log window in tui?

the list of single file libraries
a translation library that isn't GNU gettext
a build system that isn't autotools, bonus for not using make at all
a gun and a time machine

cppcheck

many are not aware of vim termdebug yet
best debugging experience so far, even if it has some bugs still

Vim, GCC, GDB, Valgrind and GNU Make.

Next thread.

a build system that isn't a flaming pile of garbage, like bazel

What is a good linter for C++?

>good tooling for C++

Attached: 1517159889020.gif (377x372, 3.46M)

g

is a sense of bazel being flaming pile of garbage or not being so?

Attached: Screenshot from 2018-05-26 15-44-52.png (1227x675, 389K)

>tui
The Emacs universal debugger is very good. It also has great man-page and info integration, for some projects it's very practical.

Gdb checkpoints
The number of times I've stepped over something important and would have otherwise had to restart the whole debug session. Reverse-step doesn't always work

Why is nobody recommending UBSan? You should not be allowed to write code without it.

English has to be one of the worst languages ever made, next to C++.

>bazel
>good

btw. Google always was shit at building tools

How the fuck do people even write in this language? Everything seems so ancient and there is a serious lack of good tools. Is everything in-house and written from scratch?

The more modern C++ standards aren't even bad, as for tooling just write it correctly instead.

Do you have any good references to modern C++? I have the latest edition of the C++ programming book by Bjarne and it features some seriously outdated techniques, especially regarding windowing and graphics..

>Windowing and graphics
Those are never going to leave the 1980s, which are technically just copying the 70s tech. Nothing to do with C++ its awful everywhere.

Maybe I just picked up the wrong book then but seeing how it is being referred to as the C++ bible I was hoping for something less shit.

It's about the only book that matters but it doesn't have shit to do with stuff that isn't C++ related.

C++ doesn't have a standard graphics library. That's out of programming language jurisdiction.

I just looked and it turns out I actually have the book: programming principles and practice using C++, not the C++ programming book.

Well that explains a lot..

Yeah I'm an idiot

tears and coffee

Everybody moved to web. College kids coming out of uni don't strive to work with qt or devexpress or infragistics etc. They want hip html5/css/ajaxy webdev stuff. Thus desktop tooling is decaying.

When retail started pulling boxed software off shelves and web startups exploded in 07, that was the death knell of c/c++ gui tooling. Fuck, people use node.js and electron for desktop apps now.

Yeah we use node.js and electron for lots of things at the office I work at. At times when we really need high performance some parts are written in C++.

Sure it is not the fastest but it is very stable in production and importantly easy to work on by many developers / designers (hot reloading, package management, easy linting).

With WebAssembly being introduced in all major browsers it has become interesting again to write in C++.

Figma is a succesful company that writes most of its web stuff in C++ due to the performance it needs.

blog.figma.com/webassembly-cut-figmas-load-time-by-3x-76f3f2395164

>How the fuck do people even write in this language?
Visual Studio.

Linux has been a generally terrible place to develop code in general since they've been raging at "sepples" and other modern languages for over a decade at this point. It's painfully ironic because the big companies that use the OS love C++ for their big, industrial applications and in house stuff; just ask any of the big banks in NY.

Attached: 1402541256203.gif (174x188, 1.03M)

CMake. It's incredible how it simplifies building a complex project.

oprofile

isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines

>C
clang with all the shitty static analysis tools it has, mainly to enforce coding style
framac to actually do any meaningful analysis/verification
systemtap
>C++
coverity
cppcheck
jenkins
systemtap

Monica. One hasn't lived until you've had to fight cov-configure to handle certain ABI types

You can switch the active window with [CTRL]+[X]+[O]

real talk, why does everyone compare c++ to suffering brought down by satan himself?
I'm trying to get away from C# and to c++ right now but all these posts seem worrying