7 ms·
Do someone know how easy is to use this in your project without recompiling the OS and whatnot? I really want some good threads.h implementation, but musl is L
by speeder 10y ago
Do someone know how easy is to use this in your project without recompiling the OS and whatnot?
I really want some good threads.h implementation, but musl is Linux-only, and the others I found so far are kinda hacky and have some problems here and there. (usually messing up your #defines and #includes in unexpected ways).
- shakna 10y agoThis still doesn't have great support for Windows, if that's what you're hoping. Mostly to do with MSVC's odd approach to C99, that having it is nice, but not a goal, so not all supplied functions strictly conform to the standard.
- pjmlp 10y agoThe approach is not odd at all. The future of Windows systems programming is C++ and C support in Visual C++ is only done to the extent required by ANSI C++ compliance. And ANSI C++ doesn't require C++ compilers to be C compilers, just to compile the common subset and libraries. For pure C projects there is the new integration of clang with VC++ backend, or any other C compiler capable of targeting Windows.
- shakna 10y agoThe clang integration was announced in 2015, so a full 16 years after C99 was finalised. A C compiler ignoring most of the spec for at least decade seems hugely odd to me. First and foremost, MSVC is a C compiler, and for a long time was the only one available. Comparing it's spec support story with GCC, clang, tcc or turboc, and it stands out. I mean, avr-gcc is designed mostly for use with C++, you're expected to use C++. But it still fully supports C99 and most of C11, with a goal to fix that in the next three years. It's... Odd. It may make sense if MS assumes all their developers have no need of the many C APIs they maintain, but it is certainly not the reasoning of many other compilers.
- pjmlp 10y ago> First and foremost, MSVC is a C compiler, and for a long time was the only one available. Since when? MSVC doesn't exist, never did, the product has always been called MSVC++. The only pure C compiler from Microsoft was called *Microsoft C Compiler", and Microsoft was actually the last C compiler vendor adding C++ support for MS-DOS. > Comparing it's spec support story with GCC, clang, tcc or turboc, and it stands out. GCC used to stand for GNU C Compiler, before it got renamed into GNU Compiler Collection. tcc is a C compiler. Turbo C was a C compiler, the C++ one was called Turbo C++. clang always supported C, C++ and Objective-C since the beginning, because C's subset of Objective-C is a 100% compatible with C, which isn't the case with C++. > t may make sense if MS assumes all their developers have no need of the many C APIs they maintain, but it is certainly not the reasoning of many other compilers. They have assumed this for a long time now, since 2012 actually, people seem to keep not paying attention. https://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/ https://herbsutter.com/2012/05/03/reader-qa-what-about-vc-an...
- throwaway19182 10y agoC++ culture at its worst -- listen to the weekly recommendations of Herb, Scott et al. and you'll be fine. Trust us.
- pjmlp 10y agoC++ culture at its best, fixing C memory corruption and UB errors inflicted into the industry, while providing an upgrade path for saner coding.
- throwaway30101 10y agoThanks, now we know why Windows has such a stellar security record. Really, talking to C++ proponents is like talking to a wall. C programmers can at least admit failures, grumble about their tools and have diverse opinions. Not so in C++. Religious adherence to dogma, unwaivering allegiance to conference heroes, unbridled enthusiasm for every new feature seems to be a prerequisite for programming in that language. And God forbid that there's any self-criticism, ever.