首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 218 毫秒
1.
随着日前越来越多嵌入式系统的飞速发展,必须快速有效地为之开发合适的交叉编译器。因为GCC(GNU Compiler Collection)是非常优秀的交叉编译器而且具有很好的可移植性,所以移植GCC是一个非常正确的方法。以交叉编译系统ZLTCG的开发为背景,详细分析了交叉编译系统GCC的体系结构,对其高度可移植性所依赖的中间表示和机器描述技术进行了深入研究,并在此基础上阐述了如何基于GCC构造用于嵌入式系统开发的交叉编译器。介绍了GCC的内核和工作机制,特别是RTL(Register Transfer Language)代码和汇编代码的生成以及解释GCC的移植方法和移植实例,对测试方法进行了探讨。  相似文献   

2.
基于GCC的VLIW编译系统研究   总被引:1,自引:1,他引:0  
VLIW机器在单个机器周期中同时发射并执行多个的并行操作,从而获得较高的指令级并行度,这些操作之间的依赖分析和调度工作则被完全交给相应的编译器执行,因此VLIW的并行性能能否充分发挥取决于VLIW体系结构相关编译器的质量。GNU开发的GCC是被最广泛使用的编译系统之一,它具有多语言、多平台支持的能力和开放的结构,能够运用各种成熟的常规编译优化技术生成高效的代码。文章分析了VLIW及GCC的结构特点,提出了一种基于GCC的VLIW编译系统设计方案,利用GCC进行RTL中间代码一级的体系结构无关优化和少量体系结构相关优化,在汇编代码一级针对VLIW结构进行体系结构相关的优化,从而充分利用GCC的成熟编译技术快速开发高效的VLIW多语言编译系统。  相似文献   

3.
指令级并行在提高处理器运行速度方面显得越来越重要,if转换技术是一种在处理器支持条件执行的前提下,有助于提高指令级并行度的编译优化技术。在详细分析GCC(GNU Compiler Collection)内部if转换技术的实现机制和算法的基础上,针对matrix体系结构特点,对GCC中现有if转换算法进行了移植与改进,实现了matrix编译器的if转换算法。实验证明,改进后的if转换算法能够更有效地移除分支,减少基本块的数量,扩大单个基本块的范围,有助于编译器生成更加优化的代码。  相似文献   

4.
《程序员》2006,(3):30-33
Richard Stallman于1984年开创了GNU Project,1985年建立了自由软件基金会。他还创作了很多为人们广泛使用的著名开发工具,包括GNU Compiler Collection(GCC)、GNU symbolic debugger(GDB)和GNU Emacs。在同记者谈话中,他非常友好地详细讨论了他与计算机的第一次接触、他在AI实验室的日子、GNU Hurd现在的状况、他目前在自由软件基金会中所扮演的角色以及非自由软件存在的问题等等。下面的文字包含了他的一些独到见解,包括我们的技术怎样发展到今天的水平以及我们依然面临哪些挑战等。Jeremy Andrews为采访记者,以下简称JA,Richard Stallman以下简称RS。  相似文献   

5.
GCC中内嵌函数实现剖析   总被引:2,自引:2,他引:0  
李春江  杜云飞  易会战  杨灿群 《计算机科学》2012,39(106):357-359,379
GNU编译器集合(GCC)具有支持多种高级语言和多种目标处理器平台、文档及源代码开放等的特点,在工业界和学术界被广泛使用。GCC支持非常多的内嵌函数,内嵌函数是GCC编译器中非常重要的一部分实现。首先分析GCC中多种内嵌函数的目的和作用;之后结合实际工作,以使用向量扩展指令的内嵌函数实现为例,剖析了平台相关的内嵌函数的实现过程。本工作对深入理解C}CC编译器中的内嵌函数实现机制,对基于C}CC的研究和开发有较强的参考意义。  相似文献   

6.
代码走查能够有效地发现30%~70%的逻辑设计和编码错误,错误的检测效率高达全部查出错误的80%,代码走查比动态测试更有效率,能快速找到缺陷,但传统的代码走查非常耗费时间。采用工具辅助进行代码走查,大大提高了测试效率,采用白盒、黑盒综合测试策略设计测试实例,提高了缺陷检测率。  相似文献   

7.
GCC编译器的窥孔优化及在DCT变换中的应用   总被引:1,自引:0,他引:1  
GCC编译器是一种可重定向的编译程序,其开发的目的是提高GNU系统中程序开发的效率。GCC支持C、C++和JAVA等7种源语言,以及MIPS和ARM等36种体系结构。它具有以下特点:清晰的前端语法树结构;高度概括的抽象机中间语言;简洁的机器描述;支持多源语言开发和多平台移植。  相似文献   

8.
《程序员》2009,(11):23-23
我用了很长时间的GDB,对于其多进程的调试一直很不满意,用一个词来。形容就是惨不忍睹。在大家都快忘记上一个版本是何时推出的时候,这个月GNU终于推出了7.0版本,现在多核盛行,多进程的方式也成为业内最流行的编程模式,与BUG战斗多年的程序员们又多了一个新的武器,希望它别像GCC4一样中听不中用。  相似文献   

9.
GCC后端中四路双精度短向量寄存器的实现   总被引:1,自引:1,他引:0  
设计和实现一个新的产品化的编译器通常需要几年时间。基于已有的编译器进行修改和扩展,是研发面向新体系结构的编译器的主要途径。GNU编译器集合(GCC)支持多种高级语言和多种目标处理器平台、文档及源代码开放等。基于GCC的Sparc后端,实现了支持四路双精度SIMD指令的四路双精度短向量寄存器的描述。在此过程中,定义了新的目标机,扩充了一类向量模式,定义了一类新的寄存器约束,实现了四路双精度寄存器的描述,定义了四路双精度SIMD指令的机器描述。对于面向此类SIMD指令的内嵌函数,GCC编译器能够正确使用该类向量寄存器来生成对应的SIMD指令。  相似文献   

10.
嵌入式RISC-V处理器交叉开发生成高质量目标代码的关键是GCC的移植与优化.分析GCC的基本结构和RISC-V体系结构的数据与指令特点,建立GCC后端移植机制,采用机器描述方法,生成32位riscv-none-embed-gcc编译器,实现RISC-V处理器的GCC移植,设计强度削弱的窥孔优化方法解决中间代码生成过程中CPU计算代价高的问题.验证与测试结果表明编译器编译正确并具有通用功能,优化后编译生成的目标代码体积减少约11%,提高了目标代码质量,节省了嵌入式处微理器的存储空间.  相似文献   

11.
张云飞 《计算机工程与应用》2004,40(17):190-194,221
利用GNU免费的ApacheWebServer1.3.27版本软件提供www服务,采用GCC编译标准C程序,运用OCI接口,通过CGI方式,在Oracle8iForSolaris2.7工作站环境下访问后台数据库,以B/S(浏览器/服务器)方式,动态发布企业生产和管理信息,量化实现企业管理业务规则。  相似文献   

12.
刘振安  周军 《测控技术》2007,26(11):52-54,70
提出一种用于Java语言的图形编程工具的设计方法.它基于元建模机制设计图形编程语言,采用模型-视图-控制器(MVC)构架模式实现图形编辑器,并设计代码转换器完成从图形代码到对应文本代码的等价转换.通过在机器人编程游戏中的实际使用,证明其满足实际需要,大大提高图形编程语言的设计效率,增强了图形编辑器的可维护性与可复用性.这种设计方法也可以用来设计其他语言的图形编程工具.  相似文献   

13.
网络课程C语言编程学习中, 师生互动性差、教学效率低, 学生难以凭借自身能力解决编程中常见的代码缺陷问题. 为了更好帮助学生解决学习中的难题, 辅助老师达到教学目的, 研究一款代码缺陷检测辅助学生编程实践系统. 该系统首先对易犯的代码缺陷分类, 分析编译器不易检测的语法、词法和语义缺陷; 然后构建智能分析器,集成多种检...  相似文献   

14.
GCC是基于Linux下的开放源码的优化编译系统,可以接收多种高级源语言,广泛支持多平台操作系统.其代码优化机制,不仅能兼顾时间、空间效率,生成高质量的目标代码,而且具有很强的可移植性与可扩充性,是编译器优化研究的目标.通过对GCC的整体结构、优化策略、优化方法与关键技术、中间语言等进行详细的剖析,抽取出完整的GCC优化体系结构.文中集中探讨了GCC的优化策略和实现技术,首先从GCC优化体系的总体规划入手,着重分析了GCC的优化组织策略,设计、引入中间代码RTL的技巧和内涵,进一步研究了GCC所涉及的控制流分析技术、数据流分析技术的实现机制.  相似文献   

15.
传统的可编程逻辑控制器(PLC)采用解释执行方式执行梯形图,执行效率低下.对此该文提出以编译执行方式代替解释执行方式来提高执行效率.但通常的编译执行方式实现难度巨大,因此本文提出利用GNU编译器集(GCC)实现编译执行的解决方法.即先将梯形图转换为C语言程序,然后通过GCC的开放平台得到编译执行所需的各工具,并运用这些工具编译C语言程序从而实现PLC的编译执行方式.测试表明编译执行的PLC执行效率大幅提升.  相似文献   

16.
李柏松 《Internet》2014,(11):14-15
9月24日公开的“破壳”漏洞(英文名Shellshock、Bashdoor),是由法国GNU/Linux爱好者Stephane Chazelas在9月中旬发现的。漏洞产生于Bash外壳程序的语法解析错误,可以让攻击者通过构造环境变量值远程执行任意代码。  相似文献   

17.
石博慧  陈英 《微机发展》2004,14(8):67-70
GCC是基于Linux下的开放源码的优化编译系统,可以接收多种高级源语言,广泛支持多平台操作系统。其代码优化机制,不仅能兼顾时间、空间效率,生成高质量的目标代码,而且具有很强的可移植性与可扩充性,是编译器优化研究的目标。通过对GCC的整体结构、优化策略、优化方法与关键技术、中间语言等进行详细的剖析,抽取出完整的GCC优化体系结构。文中集中探讨了GCC的优化策略和实现技术,首先从GCC优化体系的总体规划入手,着重分析了GCC的优化组织策略,设计、引入中间代码RTL的技巧和内涵,进一步研究了GCC所涉及的控制流分析技术、数据流分析技术的实现机制。  相似文献   

18.
嵌入式软件中基于栈的错误追踪机制设计   总被引:1,自引:0,他引:1  
嵌入式软件大都采用C语言开发,存在着调试困难、不易查错的特点。本文针对嵌入式C语言的编程特点,设计了一种基于堆栈模式的错误追踪机制,并论述了其具体实现方法,包括错误代码定义、错误处理堆栈设计及错误异常的描述方法,给出了详细代码。本方法已经在多个实际嵌入式产品开发中得到应用。  相似文献   

19.
目前,最主流的开发语言之一就是C++,越来越多的工具都使用C++语言来开发了。因为C++具有高效等特性,所以得到了很广泛的运用。但是不可避免的,在开发软件程序方面,它也存在着一些缺陷。因此,基于开源编译器GCC的C++静态分析器就被开发出来了,可以审查代码,发现缺陷,保证代码的安全和可靠。本文通过对C++静态分析器的C++的语言的缺陷、检查规则以及编译器的内容进行阐述,综合讲解了其开发与应用。  相似文献   

20.
环球观察     
傻瓜编程软件 未来,有关人类生产、生活的一切活动将与电脑及电脑程序息息相关。一个错误的程序可能导致交通系统陷入混乱,工厂的生产陷入瘫痪,战斗机失灵坠地……人们一直在寻求途径,让机器智能编程代替人工编程,从而将程序中的错误降至最低。 效力于英国剑桥新创企业SynapseSolutions公司的软件工程师鲍勃.布伦南成功开发出一新型软件,该软件可让普通计算机用户从事原先深奥无比的编程工作。利用该软件,用户需要做的,只是用日常用语键入命令,告诉计算机他(她)想要的东西。软件利用了机器智能技术(MI-Tech),该技术可将用户需求转换成机器代码——这些代码是可被  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号