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
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?
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