2014025688《嵌入式程序设计》第二周学习总结

2014025688(30)《嵌入式程序设计》第二周学习总结

计算机14-6   康文龙

一、gcc编译器

gcc 是一个交叉平台编译器,可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada 等多种语言,gcc编译流程如下。

以下为编译hello.c文件实:

1预处理极端:gcc –E hello.c –o hello.i

2编辑阶段:   gcc –S hello.i –o hello.s

3汇编阶段:   gcc –c hello.s –o hello.o

4链接阶段:   gcc hello.o –o hello

二、库

1、静态库

库名:

一般为lib***.a,其中***是该lib的名称。

创建库:

ar –rc libstatic.a a.o b.o

优点:

(1)模块化,分工合作
(2)避免少量改动经常导致大量的重复编译连接
(3)也可以重用,注意不是共享使用

ar命令创建静态库文件.下面是常用的命令选项:

-d:从指定的静态库文件中删除文件

-m:把文件移动到指定的静态库文件中

-p:把文件移动到指定的静态库文件中

-q:快速地把文件追加到静态库文件中

-r:把文件插入到静态库文件中

-t:显示静态库文件中文件的列表

-x:从静态库文件中提取文件

2、动态库

库名:

一般为lib***.so.major.minor,其中***是该lib的名称,major是主版本号, minor是副版本号。

创建库:

gcc –fpic –shared –o libshared.so a.o b.o

优点:

(1)可以将最终可执行文件体积缩小
(2)多个应用程序共享内存中得同一份库文件,节省资源
(3)可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的。

三、实验过程

 

 

四、代码调试中的问题和解决过程

(1)关于GCC体系结构相关选项仍然理解不透。

(2)vi的复合剪切功能使用不习惯。

(3)对命令不熟悉打代码太慢。

五、其他(感悟、思考等,可选)

学习需要日积月累的练习,努力认真是学好的关键。

posted @ 2017-05-02 16:57  6班康文龙(30)  阅读(145)  评论(0编辑  收藏  举报