June 30, 2004
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?



July 01, 2004
"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.