这种重复代码消除对于模板来说是这样的,对于外部内联函数和虚函数表的做法也类似。...在main函数执行完成以后,返回到初始化部分,它进行一些清理工作,然后结束进程。...对于有些场合,程序的一些特定的操作必须在main函数之前被执行,还有一些操作必须在main函数之后被执行,其中很具有代表性的就是C++的全局对象的构造和析构函数。因此ELF文件还定义了两种特殊的段。...同理,假如一个函数放到nt段,在main函数返回后该函数就会被执行。利用这两个特性,C+的全局构造和析构函数就由此实现。我们将在第11章中作详细介绍。...有人说,那么我每次只要用同一个编译器编译所有的源代码就能解决问题了。不错,对于小型项目来说这个方法的确可行,但是考虑到一些大型的项目,以上的方法实际上并不可行。