为什么模板不支持分离编译

来源:互联网 发布:二代防火墙 知乎 编辑:程序博客网 时间:2024/05/14 12:33

说到这,我们首先来说一下什么是

分离编译?

声明和定义分开

预处理 (宏替换 条件编译 .h的展开)

编译 ( .cpp .cpp->汇编代码)

汇编 (cpu机器码)

链接 ( ->)
这里写图片描述

链接前两个.cpp不交互

//template.h#pragma once#include<iostream>using namespace std;void f1();
//template.cpp#include"template.h"  void f1(){    cout <<" f1() "<< endl;}
//test.cpp#include"template.h"//预处理展开//#include<iostream>//using namespace std;////void f1();int main(){    f1();//call?    system("pause");    return 0;}