Used all of these three. I don’t want to even look at MS Visual C/C++ ecosystem.
Why are clang and gcc the wrong way around?
I’m a gcc user partly because of the optimization. I mean it’s a pretty small difference. But still for scientific stuff gcc is slightly better I think. There’s not much difference though and it basically comes to personal preference.
I am in full agreement. My comment was purely for spiciness. How dare you respond with rational and agreeable points. Good day sir!
every day i become less and less sure that i actually left reddit
What if Reddit was just the friends we made along the way?
For not that performance intensive stuff I would use clang though.
I haven’t dealt with HPC in a while, but Intel C compiler against MKL libraries were fastest CPU, and Nvidia CUDA was slightly easier to develop than OpenCL for other cards. I’m not sure if the situation’s changed.
For my current applications, I use NumPy compiled against Intel MKV installed as a binary. It works great.
deleted by creator
A fair and proportionate response.
Ow my eyes
I will give you an upvote instead of the other guy since he stole your idea.
gcc has typeof, which is pretty neat.
Is it any different from the standard
decltype
?Good question. I didn’t know about decltype. I guess they are slightly different in that decltype will also produce a type reference. Typeof just produces the type, even if you call on a reference.
Actually when it comes to C++ 23 library features, MSVC is ahead of both. In fact, as far as I can tell, MSVC is the only compiler that fully supports all C++ 20 core language features at the moment. So credit where credit is due, MSVC has gotten way way better the past few years. Visual Studio is still awful, but the compiler has become quite competent.
Its part of the EEE plan. They always have to be that.
they can’t compete with clang and gcc anymore, not with proprietary compilers, there is a fuck tons of companies using gcc and clang, and investing in thoses, microsoft can force it’s users, but can’t with apple and google etc
I haven’t touched compilers in a while, but I was a dirty little MS pig boy back in college. Qt with MSVC just made sense for me, with the single exception of non standard byte lengths for longs (almost cost me a class due to not using std uints, totally my bad but you don’t really expect compilers to understand basic data types differently).
The true shitfuckassface experience for me was ICC. Stupid little pig boy decided he wanted his Qt working with ICC, due to all dem optimizations for Intel CPUs. After hours of debugging nonsense errors and janking my way through Qt code which was way above my head, I finally got a Qt build, only to have ICC find thousands of completely removed errors in a project where no other compiler would find errors.
Yeah that was the day I stopped caring for C++, stopped licking intel’s ass, and started getting ever so slightly radicalized due to the lies of the republic.
The non standard byte lengths Microsoft still maintains are all perfectly valid within the C/C++ spec. They sure chose interesting defaults, but the issue is that the language spec basically defines a byte and says “as long as
short
is shorter thanint
andlong
isn’t shorter thanint
you’re probably good, good luck lol”.Microsoft did royally fuck up with VC++ 6 adding tons of non standard extensions in ways that weren’t immediately recognisable (though they were improvements tk the language) but they’ve mostly corrected themselves since.
If data structures weren’t working with MSVC, you’re probably working with non-portable code in the first place. Don’t assume an int is 32 bits long! I’ve tried compiling a library or two for microcontrollers and people sure like to pretend that the standard defines them to be 32 bit at minimum! Why can’t people useb
int32_t
if they need to hold numbers of a certain size, for fuck’s sake.It’s pretty funny how MSVC went from “invented their own dialect” to “one of the most complete compilers when it comes to modern standards”. Their error messages have improved massively as well. Their tools just don’t do Linux or obscure architectures, malking them a rather regrettable choice for many open source projects out there.
If data structures weren’t working with MSVC, you’re probably working with non-portable code in the first place. Don’t assume an int is 32 bits long!
Oh absolutely! I was starting out during this time, and started using memcpy for a uni project, hardcoding byte sizes to what I assumed long’s size was, instead of checking or using standardized data types (because I didn’t even know they existed). The result was such a mess, exacerbated by the good ol “let’s write it all in one go and run it when we’re done”. Boy did I suffer in that class.
I’m usually on the flip side of C/C++ compilers: reversing
I tell you: MSVC is batshit crazy
its not that hard, its just CVSM
Everything Microsoft creates is so hard to automate.
The only way I can ever get stuff to compile on windows is MSVC but I don’t like having to install the entire .net cinematic universe. It’s no android but christ on a cracker man.
No love for tcc? Smh my head
avg python fan vs avg
tcc -run
enjoyer
MSVC is pretty solid. Much better than GCC in some ways. You just have to use Visual Studio or maybe CLion to work with it because their command line build tools kind of suck.
Then again, plenty of people pretend configure.sh and Makefiles are perfectly user friendly tools, so MSVC isn’t that bad in comparison.
Why is it that whenever there’s a compiler problem at work, it’s always gcc and clang, and not the other way around.
I find gcc and clang being pickier, often due to not having non-standard extensions (I’m looking at you passing rvalue non-const ref parameter)