vs2010实现编译连接运行

程序在运行之前要经过编译连接运行三个步骤,vs2010环境下当点击ctrl+F5时,此环境做了以下工作。

编译

  1. 预处理:vs将cpp文件中的注释忽略,将宏转化等,同时包含头文件等。在包含头文件时,vs根据路径寻找相关的头文件(<a.h>代表默认路径是vs下的include文件夹,"a.h"代表默认路径是此程序文件夹 ). 当头文件不在对应路径时,会出现找不到头文件的编译错误。
  2. 编译:将包含了头文件的被修改的源程序转化为汇编程序(还是文本文件)。
  3. 汇编:将汇编程序汇编为可重定向的二进制目标文件

链接

  1. 链接器将汇编后的可重定向的目标文件进行链接,生成可执行二进制文件。链接时有两种,一种是静态链接,此时vs启动链接器进行链接操作,如果链接时需要的库文件在链接配置中不存在时,会出现链接错误(每个vs项目都有属性,属性中有链接配置,其中包含了需要使用的库文件,链接器需要库文件时就在这里找)。另一种是动态链接,就是在运行时进行链接操作。
  2. 需要链接的原因是在编译阶段只是包含了头文件,系统中的库函数在头文件中可能只有申明,而没有定义,定义是存放在lib中的。只有链接过来后,此源程序才能完整,才可以运行。

运行

  1. 运行时用到动态链接库(.dll)时,系统会在系统文件夹下找相应的dll文件。这里和vs环境已经没有关系了。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值