Reply to post: Re: Standards? From Micros~1?!?

Microsoft promises Clang for Windows in November Visual C++ update

thames Silver badge

Re: Standards? From Micros~1?!?

Having recently written a set of cross-platform (Linux, BSD, MS Windows) C libraries, I can say that working with MS VC was a major pain in the arse due to their incomplete and "uniqe" implementation of the standards. Going from GCC (for Linux) to Clang/LLVM (for BSD) was easy and seamless. Sometimes one compiler would warn about potential bugs that the other would miss (this goes both ways), but if the bug was fixed, both compilers were happy.

Going to MS VC though required lots of #ifdefs to cover the non-standard MS way of doing things, or the missing (not implemented) C library features.

These sorts of problems make porting major open source projects to MS Windows a major headache and requires a lot of work just to deal with the compiler differences. Patching Clang onto the front of Microsoft's back end may solve some of these problems.

It would be interesting to know how Microsoft intends to deal with C library differences. Is the resulting code going to use the Microsoft C library, or will it use the Clang/LLVM C library? And what happens when you link a program compiled with Clang/LLVM with a closed-source binary compiled with MS VC? Will it work? Will there be library clashes?

I won't be at all surprised if somewhere down the road Microsoft bins their own compiler and transitions over to Clang/LLVM.

By the way despite the waffly language of the article, Apple didn't create Clang/LLVM any more than they created Webkit. In both cases (and many others) they started using an already existing open source project.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2022