By ‘introduces a replacement for’ I did not mean ‘abolishes’, although I
might have meant ‘obsoletes’.
When humans learned how to make weapons and tools using iron, that
introduced a replacement for using bronze to make tools and weapons. One
could continue to make tools and weapons using bronze, they just were not as
good as the ones made of iron.
Of course you can write macro functions in C++, there may even be cases
where doing so makes sense. However C++ offers a set of compiler-based tools
which reduce the need to use a software construct that has been shown over
and over again to be very fragile and defect prone. Why not take advantage?
-----Original Message-----
From: Jamey Kirby [mailto:xxxxx@storagecraft.com]
Sent: Thursday, November 01, 2001 10:43 AM
To: NT Developers Interest List
Subject: [ntdev] Re: 3rd party Device driver development tool or pure wdm
driver development…Which is the best???
Ok, I am not done ![]()
>introduces the structured replacement for macro functions<<
No, it does not introduce a replacement. You can still use these constructs
in C++.
Jamey
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com]
On Behalf Of Roddy, Mark
Sent: Thursday, November 01, 2001 5:43 AM
To: NT Developers Interest List
Subject: [ntdev] Re: 3rd party Device driver development tool or pure wdm
driver development…Which is the best???
Right. So C++ being a MORE MODERN LANGUAGE, introduces the structured
replacement for macro functions, the inline function. But we shouldn’t use
this because we aren’t sure how it might work, and K&R didn’t need it in C,
and the Gods Who Wrote NT used macro functions so we should do this as well.
Uh-oh, microsoft C supports C++ inline functions. Hey, wait a second, the NT
operating system has both macro functions and inline functions. What the
heck…
-----Original Message-----
From: xxxxx@visiontech-dml.com [mailto:xxxxx@visiontech-dml.com]
Sent: Wednesday, October 31, 2001 8:48 PM
To: NT Developers Interest List
Subject: [ntdev] Re: 3rd party Device driver development tool or pure wdm
driver development…Which is the best???
On 10/31/01, ““Maxim S. Shatskih” ” wrote:
> > Hmm, Microsoft does not like hidden semantics in such important
> > areas? I don’t believe it. Look in ntddk.h for all this pretties
> > like PAGED_CODE, ASSERT, IsListEmpty macroses - they really can
> > drive you crazy during debuging.
>
> Nothing crazy at all.
–
It is a well know fact that using macroses in C (and, BTW, in C++ as
well)
is the way to introduce problems in your code and hide semantics.
>
> Max
>
–
Regards,
Gennady Mayko.
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@stratus.com To
> unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@storagecraft.com To
unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com