1、包含template program text file,就好象是头文件,Borland遵循这一策略。我们要求Point.h中发现的函数声明的template program text file放置在Point.h或Point.cpp中。这样编译器可以找出函数的定义。 2、把一个类的所有成员函数都产生出来。Borland遵循这一策略(这样其不丧失了些效率?它通过#pragmas来压制特定实体)。或者仿真链接操作,检测哪个函数真正需要,然后产生实体。这样做可以只具体实现程序中用到的成员函数。 3、后为了阻止成员的定义在对个对象文件中都被具现,做法是产生多个实体,然后通过链接器只留下一个实体。或者由使用者引导仿真链接阶段,决定哪些实体是需要的。 书上还介绍了Edison的编译器机制,很符合template的原始涵义,主要过程如下: