digitalmars.D - About using C++ for kernel drivers
- bearophile (5/5) Jul 14 2011 An article about the problems in using C++ to write Windows drivers, "C+...
- Paulo Pinto (14/26) Jul 15 2011 At least MacOS X drivers are developed in a subset of C++
- Walter Bright (7/17) Jul 15 2011 All that article says is you can't write Windows device drivers without ...
An article about the problems in using C++ to write Windows drivers, "C++ for Kernel Mode Drivers: Pros and Cons" (February 2007): http://msdn.microsoft.com/en-us/windows/hardware/gg487420.aspx The article shows why C++ is not so fit for this purpose. Is D even worse for this purpose? If this is true then is it possible to improve D a bit for such low level purposes? How? Even if it is possible to improve D to such purposes, is it worth it? Such purposes after all are quite a niche, most programmers don't need to write kernel mode drivers and similar things. Anyway, I hope someday people will design a system language better than C and very fit for such niche but important purposes too :-) Bye, bearophile
Jul 14 2011
At least MacOS X drivers are developed in a subset of C++ http://developer.apple.com/library/mac/#documentation Symbian is fully C++ with some assembly So there are at least two comercial OS using C++ to write kernel drivers. If we take Modula2+, Modula-3 and Oberon family of languages into consideration, there are quite a few OS using higher level languages to write their drivers, even if the OS were mostly used inside research labs. I am sure there are a few more examples available. So I don't see an issue with D. -- Paulo "bearophile" <bearophileHUGS lycos.com> wrote in message news:ivnt08$17og$1 digitalmars.com...An article about the problems in using C++ to write Windows drivers, "C++ for Kernel Mode Drivers: Pros and Cons" (February 2007): http://msdn.microsoft.com/en-us/windows/hardware/gg487420.aspx The article shows why C++ is not so fit for this purpose. Is D even worse for this purpose? If this is true then is it possible to improve D a bit for such low level purposes? How? Even if it is possible to improve D to such purposes, is it worth it? Such purposes after all are quite a niche, most programmers don't need to write kernel mode drivers and similar things. Anyway, I hope someday people will design a system language better than C and very fit for such niche but important purposes too :-) Bye, bearophile
Jul 15 2011
On 7/14/2011 4:10 PM, bearophile wrote:An article about the problems in using C++ to write Windows drivers, "C++ for Kernel Mode Drivers: Pros and Cons" (February 2007): http://msdn.microsoft.com/en-us/windows/hardware/gg487420.aspx The article shows why C++ is not so fit for this purpose. Is D even worse for this purpose? If this is true then is it possible to improve D a bit for such low level purposes? How? Even if it is possible to improve D to such purposes, is it worth it? Such purposes after all are quite a niche, most programmers don't need to write kernel mode drivers and similar things. Anyway, I hope someday people will design a system language better than C and very fit for such niche but important purposes too :-)All that article says is you can't write Windows device drivers without being familiar with how your compiler generates code, and how device driver code differs from regular code, and how to adapt to those differences. This applies to C, C++ and D. Writing kernel code simply isn't for people who aren't willing to do this, regardless of what language they use.
Jul 15 2011