C/C++编译原理

本文深入探讨了C/C++的编译过程,包括编译、汇编和链接三个阶段。编译涉及高级语言到汇编的转换,处理预处理指令如`define`和`include`;汇编则将汇编语言转换成机器码;链接阶段创建动态和静态链接库,静态库将所有内容直接包含在可执行文件中,而动态库(DLL)仅在运行时加载,减少程序体积。
摘要由CSDN通过智能技术生成

C/C++编译就是要将C/C++的代码映射到相应的机器码,以及讨论其中的内存管理模式,包括内存的分配,如何使用等等,整型、数组、指针等这些在内存中的实现机制。

C/C++的编译包括几个部分,分别是编译,汇编和链接。

1. 编译,就是将相应的高级语言代码映射到汇编语言,处理define,include等命令,加载外部的代码;

2. 汇编,就是将汇编语言映射到机器码;

3. 链接,形成相应的动态和静态链接库。动态连接库是在程序运行时动态的加载,静态连接库是直接拷贝进入程序,在程序执行时,这些静态连接库加载进来。 

静态链接库不同于动态链接库(*.dll),在静态库情况下,函数和数据被编译进一个二进制文件(通常扩展名为*.LIB),Visual C++的编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。这个过程称为"静态链接",此时因为应用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值