Every time the Microsoft compiler group released a new compiler, I had
projects that quit working. Sometimes it was the optimizer and in some
cases the compiler and/or linker quit handling special case conditions
correctly. I remember that 9x drivers would work with MSVC++ 6.0 or 5.0
wouldn’t link properly until one or two service packs were released. You
could use the old linker and get it to work.
This is why the DDK team worked so hard to get the command line compiler
included with the DDK. They know it works to generate device drivers of all
types and the compiler team hasn’t goofed up again. I think Windows XP and
all drivers are made with the DDK compiler. It means they know the problems
being reported are the developer’s and not the compiler. How many MSDN
incidents did they have to refund because the problem was theirs? Probably
a lot and it took a lot of support time to determine the problem.
I have a setup I like and it works. I use CodeWright for editing and each
project has a batch file that invokes the correct DDK’s setenv.bat and the
compiler’s setup file. I can build 9x drivers with the 98 DDK, DOS command
line utilities with VC 1.52c, NT4, W2K, & XP drivers with the appropriate
DDK. It takes a little setup, but I find it useful for me. CodeWright
supports the Microsoft browser file format when I need to use it. I do use
the IDE for application code whenever I need to compile that, but it isn’t
very often.
----- Original Message -----
From: “Moreira, Alberto”
To: “NT Developers Interest List”
Sent: Friday, October 18, 2002 2:35 PM
Subject: [ntdev] Re: Why not use BUILD [was Re: Errors while building
samples of DriverStudio in Windows XP]
> It’s not nonsense, that’s my daily reality.
>
> Peter, I can’t avoid calling cmd.exe a “dos box”, because that’s what it
is.
> The day MS put in as much functionality in it as I have in an Unix XTERM
> plus your typical Bourne or even C shell, maybe I’ll call it something
else.
> And yes, there are security issues with leaving cmd.exe in a system, for
> example, admins running scripts in my machine behind my back. So, in some
of
> my machines I just delete it, or rename it to xterm.exe or something in
that
> direction: I may be paranoid, but I do NOT like the idea of people running
> programs in my machine from remote sites.
>
> Second, I find it a terrible idea to depend on any particular compiler and
> linker to have to build anything. That’s why we have language standards,
no
> ? For portability ? So that I the consumer have some choice, for a change
?
>
> Third, the issue of running this or that compiler or this or that linker
> have nothing to do with the issue of building from an integrated
environment
> as opposed to building from the command line. Last that I checked, and I
may
> be wrong here because it’s been a while and I don’t keep tabs on that kind
> of thing, the MSVC IDE allowed us to specify which compiler to use; I
> remember when Intel came up with its Pentium III SIMD extensions they
first
> supported them through intrinsincs in the Intel C compiler, which was
> integratable into the MSVC shell without any other change to the build
> environment.
>
> Fourth, DriverWorks does use the DDK compiler and linker, dynamically,
it’s
> smart enough to know what’s going on. You don’t even need to configure the
> DDK compiler as your choice compiler in the MSVC shell.
>
> So, the point is moot, and the accusation does not hold. Our software DOES
> NOT ask anyone to use the “wrong” compiler - even though I strongly object
> to that kind of terminology. If an ANSI standard C++ compiler can’t build
a
> driver, that’s not because that compiler is the “wrong” compiler, the
> shortcoming is elsewhere.
>
>
> Alberto.
>
>
> -----Original Message-----
> From: Peter Viscarola [mailto:xxxxx@osr.com]
> Sent: Friday, October 18, 2002 1:01 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Why not use BUILD [was Re: Errors while building
> samples of DriverStudio in Windows XP]
>
>
> That’s all nonsense, Alberto, you should know better.
>
> (“Remove my DOS box for security?” Knock knock… BUILD doesn’t run under
> DOS or in any sort of DOS box. In runs at the Windows command prompt.
It’s
> NOT DOS. And it’s NOT removable in any supported way.?
>
> It is absolutely, positively, professionally irresponsible to RECOMMEND
that
> anybody build a driver for Windows XP or .NET 2003 using anything other
than
> the compiler and linker shipped in the DDK.
>
> Like Visual Studio (I can’t imagine why, but lets say you do): Great.
Just
> use an external build procedure and thereby get the correct tools.
>
> I’ve said this before: The DDK ships the correct compiler and linker for
> building drivers. It was not easy for the DDK team to get these included
in
> the DDK at no extra cost. There’s a REASON that they are there. I see
> build problems all the time due to using the wrong tools.
>
> If YOU want to use different tools to build Windows drivers, by all means,
> have a good time. You are experienced enough, and clever enough, and
> probably have enough time and resources to make it work. This is a
personal
> decision.
>
> Heck, I’ve seen people write drivers for Windows NT using Borland C++…
>
> But PLEASE… Don’t encourage others to use THE WRONG compiler and linker.
> It doesn’t make sense. “Hey, I recommend you use a compiler and linker
> different from the one that Microsoft recommend, even though I have no way
> of knowing the difference”.
>
> That’s just not providing good advice to people, and it is most certainly
> NOT doing the driver community a service.
>
> Peter
> OSR
>
>
>
>
> “Moreira, Alberto” wrote in message
> news:xxxxx@ntdev…
> >
> > It’s command line oriented, it won’t run if I rename or remove my dos
box
> > for security reasons. It requires maintaining a separate sources file
and
> > possibly dir files. It does not adapt itself to dynamic changes to the
> > project or the solution. It makes it hard to do things piecewise, for
> > example, compile files in onesies and twosies without building. Its
output
> > is not integrated with the rest of the IDE. It requires me to jump from
> > window to window, or to add custom steps to my project.
> >
> > Sorry, that’s the way it used to be when I was a kid back in the
sixties,
> eh
> > ? But this is the twentieth first century now, time to move on.
> >
> >
> > Alberto.
> >
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@compuware.com
> To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> The contents of this e-mail are intended for the named addressee only. It
> contains information that may be confidential. Unless you are the named
> addressee or an authorized designee, you may not copy or use it, or
disclose
> it to anyone else. If you received it in error please notify us
immediately
> and then destroy it.
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%
>