Also to note that all hardware vendors are adopting hardware memory tagging as the only way to fix C.
Intel messed up with MPX, but I definitely see they coming with an alternative, as I bet they won't like to be seen as the only vendor left without such capabilities.
> C Language. Dialect ISO C. ISO C source programs invoking the services of this Product Standard must be supported by the registered product.
-- http://get.posixcertified.ieee.org/docs/si-2016.html
I should also note that many attempts to add safer types to C have been tried, WG14 just doesn't care about them.
https://docs.microsoft.com/en-us/cpp/build/reference/kernel-...
> Creates a binary that can be executed in the Windows kernel. The code in the current project gets compiled and linked by using a simplified set of C++ language features that are specific to code that runs in kernel mode.
And then there is WIL, https://github.com/microsoft/wil
https://community.osr.com/discussion/291326/the-new-wil-libr...
> First off, let me point out that this library is used to implement large parts of the OS. There are hundreds of developers here who use it. So unlike, uh, some other things that get tossed onto github, this project is not likely to wither and die tomorrow.
> There are, however, only a handful of kernel developers working on the library, so the kernel support has been coming along much slower. I'd like to expand the existing kernel features in depth ....
the fact LLVM allows javascript to be transpiled to C doesn't mean Linux kernel has been rewritten in Javascript
this doesn't mean the ntoskrnl.exe is written in C++
the fact nvidia's linux loadable kernel blob is written in C++ doesn't suddenly mean linux is written in C++
"grasping at straws" would seem to sum up your position
A kernel without drivers, only produces heat.
> "grasping at straws" would seem to sum up your position
Fits exactly the position of someone that desperately wants to assert ntoskernel.exe is written just like when NT 3.51 got released into the world.
"Kernel proper - This is mostly written in C. Things like the memory manager, object manager, etc. are mostly written in C. The boot loaders are written in ASM, but set up a C environment rather quickly.
Drivers - that said, a lot of newer kernel mode drivers are actually written in C++ (however, its style is more akin to "C with classes". Lower level code has been much slower to adopting anything past C++98)
User land - Mostly C++ with varying levels of quality and version compliance. If it's a pre-Windows 8.0 component, it was written against mostly C++98. More recent features are C++14 and better."
-- https://www.reddit.com/r/cpp/comments/4oruo1/windows_10_code...
Bye, have fun with C.
thank you
only took 17 hours to get there, but we finally got there