[C++] 分离式编译

了解分离式编译,首先要明白一个程序的执行过程

Step 1.预处理

将.cpp源文件,一开始只是一个文本文件,通过预处理器,读取文件中的.h文件,形成一个 .i 的文本文件。

Step 2.编译器

将 .i 的文本文件通过编译器,编译为汇编程序.s。

Step 3.汇编器

执行.s汇编程序,形成包含对象代码的.obj对象文件

Step 4.链接器

再通过链接器,把.obj对象文件和一些库文件链接起来,生成 .exe 可执行文件。

总体来说就是:高级语言(.cpp文件)  到  汇编语言(.s文件)   到   机器语言(.o文件)   的过程。

分离式编译

分离式编译:把一个大的程序分割到几个文件里,每个文件独立编译,再把各个文件链接起来。

test.h

#include<iostream>

void test();

test.cpp

#include"test.h"

void test()  
{
	std::cout << "这是一个测试" << std::endl;
}

testmain.cpp

#include<iostream>
#include"test.h"

int main()
{
	test(); // 分离式编译
}

test.h里申明一个函数,test.cpp里定义这个函数,testmain.cpp里调用这个函数。

这个将申明、定义、调用分开的编译,就是分离式编译。

分离式编译的过程:首先会将每个.cpp文件进行独立编译,过程如同上述所说的一样,不同的是,编译器会在链接阶段,把每个文件的.obj对象文件和库文件链接在一起,形成一个可执行文件。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值