Linux C------>枚举、自定义头文件、gcc工作原理、make工程管理器、变量、共同体

枚举:

自定义头文件:

1.头文件内容

2.“”<>的区别

“”:编译器从用户的工作路径开始搜索头文件

<>: 编译器从标准库路径开始搜索头文件

3.条件编译

gcc工作原理

预处理,编译,汇编,连接

第一种方式:将四步合四为一

gcc stu.c -o stu

第二种方式:

预处理

$gcc -E stu.c -o stu.i

编译

$ gcc -S stu.i -o stu.s

汇编

$gcc -c stu.s -o stu.o

链接

多文件编译原理:

stu.c  gcc -c    stu.c   -o     stu.o

sio.c  gcc -c    sio.c   -o     sio.o

cal.c  gcc -c    cal.c    -o    cal.o       gcc stu.o sio.o cal.o swap.o  sort.o -o stu

swap.c gcc -c   swap.c  -o    swap.o

sort.c  gcc -c   sort.c  -o     sort.o

make工程管理器

执行make之后,在当前路径下查找一个叫makefile/Makefile文件,执行该文件中的内容

Makefile文件

Makefile基本原则:

目标文件:依赖文件

(Tab键)通过什么规则依赖文件生成了目标文件

makefile假目标:

makefile变量

预定义变量

cc c编译器的名称,默认为cc

自定义变量

自动变量

$@ 表示目标文件

$^  表示所有的依赖文件

$<  表示第一个依赖文件

变量定义的两种方式

递归展开方式VAR=var

简单方式 VAR=var

变量

全局变量:定义在函数体外部的变量称为叫全局变量,

         作用域:自定义开始,到文件结束  (文件作用域)

局部变量:定义在函数体内部的变量称为叫局部变量

         作用域:自定义开始,到最近的}结束

extern

extern 修饰全局变量,扩大全局变量的作用域,引入外部文件的变量

extern 修饰函数 ,引入外部文件的函数

static

static+修饰全局变量

static+修饰函数

      表示隐藏,表示只能在本文件中使用该变量和该函数,其他文件不能使用

static+局部变量:延长生命周期

全局变量和静态变量,内存在程序编译的时候就已经分配好了,这块内存在程序的整个运行期间都存在

共同体:

定义一个共同体数据类型

union 共用体名{

   属性1;

   属性2;

   属性3:

};

共用体中所有的首地址是一致的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值