c语言基础笔记DAY1_编译指令与机器原理

c语言基础笔记DAY1

1.GCC编译时 常用 win命令
  1. cd :跳转到指定文件夹,但不可跳转盘符
  2. cd /d :跳转盘符,跳转到指定文件夹
	cd /d c:/windows
  1. dir :查看当前 目录下的文件
  2. cls :清屏
  3. 一步编译法1: gcc hello.c -o hello.exe
  4. 一步编译法2: gcc c:/a/hello.c -o hello.exe
  5. 一步编译法3: gcc c:/a/hello.c -o c:/a/hello.exe
2.c语言编译命令
  1. 预处理:gcc -E hello.c -o hello.i
    编 译:gcc -S hello.i -o hello.s
    汇 编:gcc -c hello.s -o hello.o
    链 接:gcc hello.o -o hello

  2. -E 只进行预处理
    -S(大写) 只进行预处理和编译
    -c(小写) 只进行预处理、编译和汇编
    -o file 指定生成的输出文件名为 file

  3. .c C 语言文件
    .i 预处理后的 C 语言文件
    .s 编译后的汇编文件
    .o 编译后的目标文件

3.编译过程详解
预处理
  • 带#的语句就是预处理指令,预处理指令在预处理的时候处理了
    • 头文件展开: #include <stdio.h> 包含文件stdio.h(预处理时将stdio.h 文件拷贝至预处理文件中)
    • 删除注释: 注释有两种方法: // /* */
    • 宏替换: #define 代表是声明一个宏, 在预处理时会将宏给替代
    • 预处理时 不会检查语法错误
    • 条件编译: 条件不成立: #if 0 -> #endif 条件成立 #if 1 -> #endif
编译
  • 将预处理文件编译生成汇编文件
  • 检查语法错误
汇编
  • 将汇编文件编译生成二进制文件.o
链接
  • 设置运行环境,堆栈等,链接其他库
4.system 库函数

作用: 在程序中启动另一个程序
参数: 要的是待启动程序的路径名

5.寄存器 缓存 cpu 内存之间的关系

cpu > 寄存器 > 缓存 > 内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值