This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Migration from GCC3.4.3 to GCC4.1.2
- From: "John (Eljay) Love-Jensen" <eljay at adobe dot com>
- To: ruks <rukmanisivakumar at rediffmail dot com>, GCC-help <gcc-help at gcc dot gnu dot org>
- Date: Wed, 6 May 2009 04:41:27 -0700
- Subject: Re: Migration from GCC3.4.3 to GCC4.1.2
Hi ruks,
If you are going to rely on explicit template instantiation, you have to be
meticulous about instantiating all the templates that are referenced. And
you have to have a deep knowledge about the template mechanism (which* is a
an obtuse, convoluted, and confusing code generation language built into C++
-- but x1000 better than the C preprocessor).
Otherwise, in my opinion, it is best to rely on implicit template
instantiation and vague linkage instead.
I am not a C++ template guru. I know enough about them to use them
effectively, and I can (albeit poorly, in retrospect) write them -- but
there are so many agonizing subtleties and mindboggling nuances and
t's-to-cross and i's-to-dot that I leave the fine art of template crafting
to the smart++ folks at Boost <http://www.boost.org/>.
Sincerely,
--Eljay
* in my not-so-humble opinion. I¹m comparing / contrasting C++ template
facilities with D¹s code generation mechanism, in particular. It is as-if
C++ template mechanism was not designed as a code generation language, and
only was realized that it is one long after the fact, and way too late to
redesign it.
"What 99 percent of programmers need to know is not how to build components,
but how to use them."
~ Alexander Stepanov