C01-编译环境,链接管理

环境配置

  • 工具里面的选项 里面的 环境 里面
    在这里插入图片描述
    改变随机地址 变成否
    在这里插入图片描述

随机地址 改为 否

链接生成

计算机分层架构
CPU
内存
硬盘

  • 一个程序最初以exe 文件的形式,在硬盘中
  • 双击exe,操作系统将其移到内存中运行
  • CPU读取内存的exe的副本,并运行此程序

手工编译生成exe文件

文本txt 中编译文本中写入语言
使用控制台,手工编译,连接得到exe文件

在这里插入图片描述
在cmd窗口

c:\mytmp>cl /c my.c
用于 x86 的 Microsoft (R) C/C++ 优化编译器 18.00.30501 版版权所有(C) Microsoft Corporation。 保留所有权利。

my.c

c:\mytmp>link my.obj
Microsoft (R) Incremental Linker Version 12.00.30501.0
Copyright (C) Microsoft Corporation. All rights reserved.


c:\mytmp>my.exe
hello world!

编译链接做了什么

cl.exe link.exe.就是编译器,链接器,他们的作用分别是:
编译器:输入为源码(.c)文件 → 输出为.obj文件,机器文件 (编译器 当作 翻译机器)
连接器:输入为obj → 输出为 可执行文件(.exe)文件 (他的工作主要是将程序员的obj文件,与库的obj文件,进行连接,得到exe)
(为什么要连接器)问题 printf是如何 把东西打印到屏幕上
就是把程序员文件 与C11库里面的obj文件 进行连接得到exe.

编译和链接分两步意义所在:模块化

如果直接输入

cl xx.c 不加入/c

会同时出现 exe obj 破坏模块化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值