嵌入式学习心得(六)

gcc 编译多种语言,也是交叉平台编译器,不是与操作系统有关而是处理器,PC端一般的都是X86,体系

编译器的编译过程:预处理,编译,汇编,链接

预处理包括:头文件展开,宏替换,条件编译

-E只进行到预处理的操作

>重定向

预处理的文件后缀为  . i


<> 搜索路径:系统的头文件目录,找不到就报错

“ ” 搜索路径: 现在当前的目录寻找,再到系统头文件目录寻找,找不到就报错


注释的方法:  #if0

                       #endif


-c 到编译的阶段结束,

.o目标文件的后缀


编译:语法检查,词法分析


-S  到汇编的时候结束   .s汇编文件的后缀


-Wall  开启警告


库文件:  可以使用函数和变量,但是你看不到实现的过程

静态库的后缀。a

动态库的后缀。so


静态库执行之前加载,编译的速度慢,执行速度快,可执行文件过大,占内存多,不易升级,代码部署上静态库容易部署


static关键字

        当用于不同的上下文环境时,static关键字具有不同的意义。

当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标示符的连接属性,

从external改为internal,但标示符的存储类型和作用域不受影响。用这种方式声明的函数或变量只

能在它们的源文件中访问。

         当它用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量改为

静态变量,但变量的连接属性和作用域不受影响。用这种方式声明的变量在程序执行之前创建,并

在程序的整个执行期间一直存在,而不是每次在代码块开始执行是创建,在代码块执行完毕后销毁。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值