I want to try to develop system software, drivers for devices. I know that C is low level programming language and it is very popular in this scope. What compiler is better to use (only C, not C++)? and what libraries are used for system related stuff? OS Windows.
-
If you're on Windows, you're basically stuck using Visual C++. I don't think MS produces a dedicated C compiler.Rafe Kettler– Rafe Kettler2011-02-17 22:19:10 +00:00Commented Feb 17, 2011 at 22:19
-
Well, you presumably could use any C compiler that targets Windows.David Heffernan– David Heffernan2011-02-17 22:23:44 +00:00Commented Feb 17, 2011 at 22:23
-
WDK (formerly DDK) is what you need, but are you sure you want to start with driver development? Without decent programming knowledge in that area it's like playing with grenades. I would make first steps in C in user space and then move to driver development which is another level of difficulty especially in a microkernel architecture you have to master IRPs and IRQ levels very well otherwise you'll face a blue screen after the other...jdehaan– jdehaan2011-02-17 22:29:48 +00:00Commented Feb 17, 2011 at 22:29
2 Answers
If you wan to do Windows driver development, then you should look at the WDK - Windows Driver Kit. It should have most of what you need including tools, headers and libraries (and documentation).
Comments
For Windows look at the WDK and related MSDN documentation. The WDK includes Microsoft's compiler. http://www.microsoft.com/whdc/devtools/WDK/default.mspx
There is a lot to absorb there. If you're new to programming you should get some experience with C at the user application level and then try out Kernel development once you are comfortable with the language.