www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D and windows driver development

reply quetzal <quetzal_member pathlink.com> writes:
Some time ago Walter said that it is possible writing windows drivers in D.
Today I tried to give that a try.. took my C driver source and tried to convert
it to D.
Currently I see one big problem: linking. In windows drivers C standart library
is not accessible, instead programmer gets a bunch of Rtl* Ke* Zw* functions. 

But when I try to skip phobos (even for driver that consists of empty
DriverEntry function) I get unresolved symbol error (_d_assert). Okay, I can
define it manually and such "empty" driver links just fine.
Ok.. what if we declare empty class? 7 more unresolved externals (Object)
Try to use new? One more unresolved.
Templates? One more unresolved.
Programmer cant be bothered to copy missing parts from phobos into his driver
manually and he cant just link phobos in (because of obvious reasons).
Is there anything I can do about it? Is it really possible to write windows
drivers in D?
Jun 30 2004
parent "Walter" <newshound digitalmars.com> writes:
"quetzal" <quetzal_member pathlink.com> wrote in message
news:cbv6ch$17vj$1 digitaldaemon.com...
 Some time ago Walter said that it is possible writing windows drivers in

 Today I tried to give that a try.. took my C driver source and tried to

 it to D.
 Currently I see one big problem: linking. In windows drivers C standart

 is not accessible, instead programmer gets a bunch of Rtl* Ke* Zw*

 But when I try to skip phobos (even for driver that consists of empty
 DriverEntry function) I get unresolved symbol error (_d_assert). Okay, I

 define it manually and such "empty" driver links just fine.
 Ok.. what if we declare empty class? 7 more unresolved externals (Object)
 Try to use new? One more unresolved.
 Templates? One more unresolved.
 Programmer cant be bothered to copy missing parts from phobos into his

 manually and he cant just link phobos in (because of obvious reasons).
 Is there anything I can do about it? Is it really possible to write

 drivers in D?

Sure it's possible to do - but you'll need to be familiar with how Phobos works. Phobos as it stands now depends on the C runtime library. It's dependencies on that would have to be replaced with whatever is available to device drivers.
Jul 01 2004