新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Linux下C编程基础之:gcc编译器

Linux下C编程基础之:gcc编译器

作者:时间:2013-09-13来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/257151.htm

(4)优化选项。

gcc可以对代码进行优化,它通过编译选项“-On”来控制优化代码的生成,其中n是一个代表优化级别的整数。对于不同版本的gcc来讲,n的取值范围及其对应的优化效果可能并不完全相同,比较典型的范围是从0变化到2或3。

不同的优化级别对应不同的优化处理工作。如使用优化选项“-O”主要进行线程跳转(ThreadJump)和延迟退栈(DeferredStackPops)两种优化。使用优化选项“-O2”除了完成所有“-O1”级别的优化之外,同时还要进行一些额外的调整工作,如处理器指令调度等。选项“-O3”则还包括循环展开和其他一些与处理器特性相关的优化工作。

虽然优化选项可以加速代码的运行速度,但对于调试而言将是一个很大的挑战。因为代码在经过优化之后,原先在源程序中声明和使用的变量很可能不再使用,控制流也可能会突然跳转到意外的地方,循环语句也有可能因为循环展开而变得到处都有,所有这些对调试来讲都将是一场噩梦。所以笔者建议在调试的时候最好不使用任何优化选项,只有当程序在最终发行的时候才考虑对其进行优化。

(5)体系结构相关选项。

gcc的体系结构相关选项如表3.10所示。

表3.10 gcc体系结构相关选项列表

选项

含义

-mcpu=type

针对不同的CPU使用相应的CPU指令。可选择的type有i386、i486、pentium及i686等

-mieee-fp

使用IEEE标准进行浮点数的比较

-mno-ieee-fp

不使用IEEE标准进行浮点数的比较

-msoft-float

输出包含浮点库调用的目标代码

-mshort

把int类型作为16位处理,相当于shortint

-mrtd

强行将函数参数个数固定的函数用retNUM返回,节省调用函数的一条指令

这些体系结构相关选项在嵌入式的设计中会有较多的应用,读者需根据不同体系结构将对应的选项进行组合处理。在本书后面涉及具体实例时将会有针对性的讲解。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程


c++相关文章:c++教程



上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭