4 ms·
It's surprising how so many people still use MSVC when there's clang-cl[1]. Both Google and Mozilla use it for producing binary releases for Windows for years a
by xvilka 5y ago
It's surprising how so many people still use MSVC when there's clang-cl[1]. Both Google and Mozilla use it for producing binary releases for Windows for years already[2][3]. MSVC has poor track record on following standards and lacked ASAN etc support until recently. And Visual Studio now can integrate with it smoothly [4].
[1] https://clang.llvm.org/docs/MSVCCompatibility.html https://clang.llvm.org/docs/MSVCCompatibility.html
[2] https://blog.llvm.org/2018/03/clang-is-now-used-to-build-chrome-for.html https://blog.llvm.org/2018/03/clang-is-now-used-to-build-chr...
[3] https://blog.mozilla.org/nfroyd/2019/04/25/an-unexpected-benefit-of-standardizing-on-clang-cl/ https://blog.mozilla.org/nfroyd/2019/04/25/an-unexpected-ben...
[4] https://docs.microsoft.com/en-us/cpp/build/clang-support-msbuild?view=msvc-160 https://docs.microsoft.com/en-us/cpp/build/clang-support-msb...
- userbinator 5y agoSpeaking from experience, because MSVC (and also ICC) is far more sane with how it interpets undefined behaviour.
- xvilka 5y agoRelying on UB in programs is a recipe for disaster. It should be avoided rather than workarounded by compiler. There's UBSAN, various static analysis tools to fish out UB, developers should use them instead.
- TinkersW 5y agoMSVC track record is poor, but that isn't relevant to today, it is actually ahead of GCC/Clang for tracking the standard if anything. You can use both MSVC/Clang-CL.. The primary reason I find to still use MSVC is that it compiles faster.
- pjmlp 5y agoIf you want do the Windows development with raw Win32 C APIs and zero tooling that is. Most of us live on .NET and C++ mixed code bases, and enjoy our IDE tooling for all levels of Windows stack.