|
|
On 8/1/2011 10:50, Warp wrote:
> Maybe it's a question of complexity vs. demand, or something.
Also compatibility, I think. To check whether you're using a stray pointer,
you'd have to store more than the pointer, which means void* might change
size, which breaks anything precompiled you link to.
Interestingly, too, I read that Microsoft has an "Application Verifier" that
does things like intentionally initializing stack frames to random garbage
(rather than leaving whatever's there), and they find many people don't test
under the "application verifier" because it breaks too much of their code.
(For example, a lot of the "application compatibility shims" fix stuff the
application verifier would have detected had they used it.)
There used to be lint, which would seem to address the complaint that "it
would slow down the compiler." I guess it's easier to just make it flags
nowadays rather than maintain a separate program, tho.
I suspect 99% of the people writing code are writing code that doesn't get
used in any application but their own, so they write it, test it, it seems
to work well, they release the executable. It's a lot harder to get
libraries like boost or openssl or whatever working on every compiler in
every environment.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
|