October 2000
Intermediate to advanced
432 pages
9h 9m
English
C++ compilers are complex pieces of software. Sadly, sometimes the details of a compiler's implementations leak out and bother the application programmer. The two aspects of C++ compiler implementation that have caused grief in the past are efficient template instantiation and name mangling. The following sections explain each of these aspects.
The problem with template instantiation exists because of a number of complex constraints:
The compiler should generate only an instance of a template once, to speed the compilation process.
The linker needs to be smart about where to locate the object code for instantiations produced by the compiler.
Separate compilation exacerbates this problem—that ...
Read now
Unlock full access