编译器会对cpp文件进行预处理、编译、汇编、链接后形成可执行程序。
而通过编译和汇编后会把每个cpp文件转化成二进制指令形成.obj文件。
链接的时候合并符号表,以填入被调用的函数地址。
模板函数是在调用相关函数的时候隐式实例化,因此无法形成符号表,如果将模板函数的声明和定义分离,编译器会报链接错误,也就是在链接之前没有具体调用函数的过程。那么“调用函数”以实例化模板函数这一概念具体是编译器什么时候对其处理的呢?
编译器会对cpp文件进行预处理、编译、汇编、链接后形成可执行程序。
而通过编译和汇编后会把每个cpp文件转化成二进制指令形成.obj文件。
链接的时候合并符号表,以填入被调用的函数地址。
模板函数是在调用相关函数的时候隐式实例化,因此无法形成符号表,如果将模板函数的声明和定义分离,编译器会报链接错误,也就是在链接之前没有具体调用函数的过程。那么“调用函数”以实例化模板函数这一概念具体是编译器什么时候对其处理的呢?