Summary Day27

1.  课程简介

1.1 课程阶段简介

1.2 Unix/linux系统下的高级c编程


2. Unix/Linux系统简介

1.1 Unix系统简介

1.2 Linux 系统的简介


3. gcc的基本使用

2.1 基本概念

原名叫做GNU C Compiler(GNU C 编程语言编译器),只是用于编译C语言,后来做一些扩展,

支持C++\OC等语言的编译,因此改名为: GNU Compiler Collection(GNU 编译器套件/集合)


2.2 基本功能

gcc xxx.c主要包括以下4个部分功能

(1)预处理:主要实现对头文件的包含以及宏替换

(2) 编译:主要将高级语言转换成汇编语言

(3)汇编:主要将汇编语言翻译成机器指令,得到目标文件

(4) 链接:主要将目标文件和库文件进行链接,生成可执行文件


2.3 常见的编译选项

(1)掌握的选项

-E  进行预处理,预处理默认输出到控制台, 使用gcc -E xxx.c -o xxx.i 将预处理结果定位到xxx.i文件中

预处理之后的文件主要包含:头文件\类型的别名\各种函数的声明

-S    进行编译处理,生成汇编文件xxx.s

-c 进行汇编处理,生成目标文件xxx.o

gcc/cc xxx.o -链接处理,生成可执行文件a.out

如:

gcc/cc -E xxx.c -o xxx.i

=>预处理生成.i文件

gcc/cc -S xxx.i/xxx.c

=>编译,生成.S文件

gcc/cc -c xxx.s/xxx.i/xxx.c

=>汇编,生成.O文件

gcc/cc xxx.o/xxx.s/xxx.i/xxx.c 

=>链接,生成a.out 文件


(2)熟悉的选项

 -std 用于指定编译遵守的标准

 -Wall 主要用于尽可能产生警告

 -Weror 主要将警告当做错误进行处理

(3)了解的选项

-v -g -o -x

(4)扩展的选项

man 

(5)常见的文件后缀

 .h 头文件

 .c 源文件

 .i   预处理之后的文件

 .s  汇编文件

 .0 目标文件

 .a 静态库文件

 .so 共享库文件

3.多文件结构的编程

 .h   头文件,主要存放结构体的定义,函数的声明等等

 .c   源文件,主要存放变量/函数的定义等等

 .a  静态共享库,主要对功能代码的打包

 .so共享库文件,主要对功能代码的打包

3.2 头文件的详细内容

(1) 头文件的卫士

#ifndef  xxx_H

#define xxx_H

#endif

(2) 包含其他头文件

(3)宏定义

(4)数据类型的定义以及类型起别名

(5)变量/函数的声明

extren/*外部的*/  int num;

void show(void);

4. 预处理指令

4.1复习预处理指令

4.2 学习新的预处理指令

#line 整数n

#warning 字符串 

# error 字符串

#pragma GCC dependency

#pragma GCC  poison 标识符

#pragma pack(整数n) 表示按n的真数倍进行对齐补齐

4.3 预定义宏


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值