- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式实时程序设计中 C/C++代码的优化
Optimizing C and C++ Code in embedded real-time programming
张义青 李华贵
(江汉石油学院计算机科学系,湖北荆州 434023 )
[摘要]本文简单介绍了嵌入式实时程序设计的特点和嵌入式系统设计中语言的选择,着重介
绍了以下几种在嵌入式实时程序设计中优化 C/C++代码的方法
[关键词] 嵌入式 实时操作系统(RTOS ) C/C++ 优化
Abstract: In this article we will introduce briefly the characteristic of the embedded real-time
programming and how to choose the language in programming, explore the following
optimization techniques for C and C++ code developed for embedded real-time
programming.
Key Words: embedded, RTOS, C/C++,optimization
一 引言
计算机技术和信息技术高速发展的今天,计算机和计算机技术大量应用在人们的日常生
活中,嵌入式计算机也得到了广泛的应用,嵌入式计算机是指完成一种或多种特定功能的计
算机系统,是软硬件的紧密结合体。具有软件代码小,高度自动化,响应速度快等特点。特
别适合于要求实时和多任务的应用体系。嵌入式实时系统是目前蓬勃发展的行业之一。
但是,实时嵌入式系统的特点使得其软件受时间和空间的严格限制,加上运行环境复杂,
使得嵌入式系统软件的开发变得异常困难,为了设计一个满足功能、性能和死线要求的系统。
为了开发出安全可靠的高性能的嵌入式系统,开发语言的选择十分重要。
二 嵌入式实时程序设计中语言的选择
随着嵌入式系统应用范围的不断扩大和嵌入式实时操作系统 RTOS(Real Time Ope
rating System)的广泛使用,高级语言编程已是嵌入式系统设计的必然趋势。因为汇
编语言和具体的微处理器的硬件结构密切相关,移植性较差,既不宜在复杂系统中使用,
又不便于实现软件重用;而高级语言具有良好的通用性和丰富的软件支持,便于推广,
易于维护,因此高级语言编程具有许多优势。目前,在嵌入式系统开发过程中使用的语
言种类很多,但仅有少数几种语言得到了比较广泛的应用。其中 C 和 C++是应用最广泛
的。C++在支持现代软件工程、OOP(Object Oriented Programming, 面向对象的程序
设计)、结构化等方面对 C 进行了卓有成效的改进,但在程序代码容量、执行速度、程
序复杂程度等方面比 C 语言程序性能差一些。由于 C 语言既有低级语言的直接控制硬件
的能力,又有高级语言的灵活性,是目前在嵌入式系统中应用最广泛的编程语言。随着
网络技术和嵌入式技术的不断发展,Java 及嵌入式 Java 的应用也得到了广泛的应用。
三 C/C++代码在实时程序设计中的优化
虽然使软件正确是一个工程合乎逻辑的最后一个步骤,但是在嵌入式的系统开发中,情
况并不总是这样的。出于对低价产品的需求,硬件的设计者需要提供刚好足够的存储器和完
成工作的处理能力。所以在嵌入式软件设计的最后一个阶段则变成了对代码的优化。
现代的 C 和 C++编译器都提供了一定程度上的代码优化,然而,大部分由编译器执行的
优化仅涉及执行速度和代码大小的一个平衡。你的程序能够变得更快或者更小,但是不可能
又变快又变小。经过本人在嵌入式系统设计和实现过程中实践,下面介绍几种简单且行之有
效的 C/C++代码的优化方法。
1.Inline 函数
在 C++ 中,关键字Inline 可以被加入到任何函数的声明中。这个关键字请求编译器用函
数内部的代码替换所有对于指出的函数的调用。这样做在两个方面快于函数调用:第一,省
去了调用指令需要的执行时间;第二,省去了传递变元和传递过程需要的时间。但是使用这
种方法在优化程序速度的同时,程序长度变大了,因此需要更多的 ROM 。使用这种优化在
Inline 函数频繁调用并且只包含几行代码的时候是最有效的。
2 .用指针代替数组
在
您可能关注的文档
- 试论对外汉语教材的规范化.pdf
- 试论蘩漪、安娜悲剧的同异性.pdf
- 试论民事诉讼中的勘验及我国立法完善.pdf
- 试析特种设备的检修方法.pdf
- 是福建省内历史最长、受众最多的电视媒体,45年的技术、.doc
- 水 利水 电工程施工现场供 电的计算.pdf
- 斯普林改善晚期恶性肿瘤全身状况的疗效观察.pdf
- 太阳、月球与地球的关系教学设计河南省潢川县高级中学.docx
- 探究式教学在初中数学教学中的运用.pdf
- 探究式课堂中教师教学行为自我评价的研究.doc
- 2025至2030全球及中国订单管理软件行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030国内液晶显示屏行业市场发展分析及竞争策略与投资发展报告.docx
- 2025至2030港口设备市场前景分析及细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030量子加密通信行业发展现状及投资前景战略报告.docx
- 2025至2030中国音乐合成器行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国液压行业市场发展现状及竞争格局与投资机会报告.docx
- 2025至2030中国异戊橡胶行业运营态势与投资前景调查研究报告.docx
- 2025至2030帕西肽行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030全球及中国超收敛集成系统行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030尖齿铣刀行业市场占有率及有效策略与实施路径评估报告.docx
最近下载
- 全维状态观测器(线性系统).ppt VIP
- 5MeV电子辐照加速器剂量分布与辐射屏蔽研究.pdf VIP
- 2024年C题优秀论文亚太杯数学建模竞赛一等奖.pdf VIP
- 核电厂乏燃料贮存格架水下吊装工具研制.docx VIP
- 机器学习课后习题答案(周志华).pdf VIP
- 七年级语文上册期末考试卷(附答案).pdf VIP
- 新型工艺路线下联产哌嗪和N - 乙基哌嗪的深度探究与优化策略.docx
- 2023年西南交通大学公共课《思想道德基础与法律修养》科目期末试卷A(有答案).docx VIP
- 吉林省吉林市2024-2025学年高一上学期期末调研生物试题.docx VIP
- 武汉生物工程学院《大学英语》2021-2022学年第一学期期末试卷.doc VIP
原创力文档


文档评论(0)