嵌华科技有限公司毕业实习报告大学论文.doc

上传人:教**** 文档编号:91710381 上传时间:2023-05-27 格式:DOC 页数:14 大小:92KB
返回 下载 相关 举报
嵌华科技有限公司毕业实习报告大学论文.doc_第1页
第1页 / 共14页
嵌华科技有限公司毕业实习报告大学论文.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《嵌华科技有限公司毕业实习报告大学论文.doc》由会员分享,可在线阅读,更多相关《嵌华科技有限公司毕业实习报告大学论文.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、武汉工程大学计算机科学与工程学院毕业实习报告专 业计算机科学与技术班 级学 号学 生 姓 名指 导 教 师 校外教师姓名(职称)实 习 时 间20142015学年第2学期2015.3.09至2015.3.27实 习 成 绩 说明:1、 实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。2、 实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于学院各专业),各专业教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。3、 实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。4

2、、 指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。5、 学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。6、 实习报告正文字数应不少于5000字,实习日记字数不少于500字/天。7、 实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。学生自主实习的,可根据实习的情况自行填写以上内容。8、 自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),与实

3、习报告一起装订,作为参加实习答辩和评定成绩的依据。毕业实习答辩记录表学生姓名: 学号: 班级: 答辩地点: 武汉华嵌科技有限公司 答辩内容记录:答辩成绩总分值各项分值评分标准实际得分总得分备注3015在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字): 2015 年 3 月 24 日毕业实习成绩评定表学生姓名: 学号: 班级: 类别总分值各项分值评分标准实际得分合计得分备注实习表现2010遵守学校和实习单位的考勤、安全生产等纪律,积极参加实习活动,无旷课、迟到、早退等情况。10积极完成各项任

4、务,表现良好,服从并配合指导教师和实习单位的工作安排。项目实践及实习报告5010实习报告格式规范,文字通顺。按照实习大纲要求认真完成规定项目内容,能运用所学专业知识对问题加以分析,并对全过程的实习内容进行系统的总结。20每天记载实习笔记,内容翔实不空泛,无相互抄袭现象。论述充分完整,结构严谨合理。体现了实习过程中的学习情况和项目实践情况,及所思、所获、所感。20按照要求完成实习项目,方案合理,设计工作量饱满,能运用专业知识和技能去发现与解决实际问题。在项目实践过程中展现出了较强的学习能力、动手实践能力、团队协作能力和创新意识。实习答辩3015在规定时间内能就实习的内容进行全面完整的阐述,言简意

5、明,重点突出,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩指导教师评语指导教师: (签字) 日期: 2015 年 3 月 27 日武汉工程大学计算机科学与工程学院 毕业实习报告一、实习目的与任务 毕业实习是计算机专业培养方案的重要组成部分,也是人才培养的重要环节。其目的是巩固学生的理论知识,培养学生的实践能力、创新能力,拓宽学生视野,增强劳动观念。通过毕业实习可以使课本知识与实践更好的结合,在短时间内提升专业技能,使学生与未来工作以及企业所需达成较好的契合,以获得良好的待遇和发展机会;通过毕业实习增加学生对企业和工作的认知,体验职场,有助于从学生角色到企业一员和

6、社会一员的顺利转变;通过实习,可以间接了解行业信息,为不久后的就业提供更广阔的选择,企业也通过参与学生的实习过程,为企业选择更合适的毕业生作为公司员工,满足企业对人才的需求,同时解决毕业生的就业问题。整体来说实习安排是要让毕业生从思想观念上转变、从专业技能上提升,从生活环境上适应,从就业渠道上提供更多的机会。 参照目前国内主流嵌入式软件产品开发流程,并结合学生的实际情况,总结出一套项目开发流程。首先从开发流程上分解为启动、细化、构造和实施四个里程碑,每个里程碑结束之后都需要对项目的开发成果进行评审或测试,以保证项目按时按量按质完成。并且全程使用配置管理工具管理文档和代码等项目成果。二、实习地点

7、实习单位:武汉华嵌科技有限公司三、实习内容和要求1嵌入式软件开发流程与项目导入从需求分析、总体设计、详细设计、编码、调试、发布、维护等环节介绍嵌软开发过程,并对本次实习的项目要求进行导入。说明:参加此次项目实践的同学必须有一定的Linux软件开发基础,有一定的C/C+编程能力,此课程内容以项目为导向,以技术为核心,力争掌握前沿技术,熟悉项目开发过程.项目(可选):1、手持式数码相框;2、俄罗斯方块;3、局域网聊天等2嵌入式Linux开发环境的搭建配置各网络服务器、交叉编译器等3C+基础强化对c+的封装、继承、多态等强化,为Qt编程打基础4Qt编程技术对信号与槽,UI设计、控件开发等项目需求技术

8、进行讲解5项目设计文档编写规范按照企业项目开发流程、编写详细设计文档6软件设计与功能调试软件编码,功能调试与移植四、实习总结及分析 越来越多的嵌入式终端需要一个图形化的人机接口界面(GUI),良好的人机交互界面是嵌入式系统设计的一个关键技术,尤其是在嵌入式手持设备中,对嵌入式终端的实用性、美观性和视听娱乐性提出了更高的要求。而记事本和电子相册以其实用性和良好的观赏性逐渐成为嵌入式设备中不可或缺的组成部分。开发基于嵌入式终端的界面美观、功能丰富、交互性好的电子相册,具有一定的实用意义和价值。本文的目标是设计和实现嵌入式终端下的电子相册。论文首先介绍了Linux的优点和Qt开发环境的搭建,着重分析

9、了Qt在软件开发中的编程机制。并根据嵌入式应用的特点对嵌入式终端下的记事本和电子相册进行了设计需求分析、具体界面的设计和整体结构的设计。本课题根据记事本和电子相册的算法,设计并实现了电子相册的相关功能。最后对关于论文进一步工作的方向进行了简要的讨论。 如果一个类要使用信号与槽机制,它就必须是从QObject或QObject的子类继承,而且类的定义必须加上Q_OBJECT宏。signals、slots和emit是Qt特有的关键字,分别用来表示信号、槽、和发送信号,移除这些关键字和预处理程序,就可以使用标准的C+编译器。槽同其他函数一样也具有访问权限,只是槽的访问权限决定了谁可以和它相连,如一个p

10、ublicslots:包含了任何信号都可以相连的槽(AndrewKrause,2007)。一个protectedslots:包含了只有这个类和它的子类的信号才能连接的槽。这就是说这些槽只是类的实现的一部分,而不是它和外界的接口。一个privateslots:包含了只有这个类本身的信号可以连接的槽,甚至它的子类都没有获得连接的权利。Qt中的元对象系统是用来处理对象间通讯的信号/槽机制、运行时的类型信息和动态属性系统。它基于下列三类:QObject类、类声明中的私有段中的Q_OBJECT宏、元对象编译器(moc)。moc读取C+源文件。如果它发现其中包含一个或多个类的声明中含有Q_OBJECT宏,

11、它就会给含有Q_OBJECT宏的类生成另一个含有元对象代码的C+源文件。这个生成的源文件可以被类的源文件包含(#include)到或者和这个类的实现一起编译和连接。除了提供对象间通讯的信号和槽机制之外(介绍这个系统的主要原因),QObject中的元对象代码实现其它特征: (1)className()函数在运行的时候以字符串返回类的名称,不需要C+编译器中的本地运行类型信息(RTTI)的支持。 (2)inherits()函数返回这个对象是否是一个继承于QObject继承树中一个特定类的类的实例。 (3)tr()和trUtf8()两个函数是用于国际化中的字符串翻译。 (4)setProperty(

12、)函数和property()函数,这两个函数是用来通过名称动态设置和获得对象属性的。 (5)metaObject()函数返回这个类所关联的元对象。虽然使用QObject作为一个基类而不使用Q_OBJECT宏和元对象代码是可以的,但是如果Q_OBJECT宏没有被使用,那么这里的信号和槽以及其它特征描述都不会被提供。根据元对象系统的观点,一个没有元代码的QObject的子类和它含有元对象代码的最近的祖先相同。举例来说就是,className()将不会返回你的类的实际名称,返回的是它的这个祖先的名称。故强烈建议QObject的所有子类使用Q_OBJECT宏,而不管它们是否实际使用了信号、槽和属性(J

13、onathanCorbet,2005)。本文围绕实习的基本需求,提出了一个基于嵌入式Linux操作系统和图形用户界面QT的嵌入式终端电子相册设计方案。该设计方案具有低耦合、高内聚、可扩展、可移植等良好特点,并在设计的基础上将该方案实现。电子相册的界面切换中均使用到了蒙版效果,达到视觉上的美化效果,是设计上的一个特色。电子相册设计中均采用了模块化的设计思想,便于以后的功能扩展。电子相册软件经过反复修改验证,通过了单体测试和结合测试,均能正常且高效的工作,达到了预期的目标。具体实现了以下功能:1. 对相册中想要播放的文件的选择,根据意愿选择想要播放的图片文件,这里的图片文件包含多种图片格式。2.

14、可以实现对图片上一张以及下一张的选择。3. 可以设置成为自动地播放,并且还可以设置播放的间隔时间。 但是由于在本项目开始的时候,对QT程序设计方面的运用不太熟悉,再加上时间有限,存在不少问题有待进一步改进和完善。主要针对以下几方面:1.系统的某些设计的可扩展性并不十分理想,在以后的系统维护过程中,使用重构方法对系统进行重构,使系统的设计日益趋于更强的可扩展性。2.多开发和使用用户控件,以提高代码的重复使用率和运行效率方面欠佳,有待进一步改善。3.在功能实现方面,还有许多功能需要拓展,需要进一步完善和优化。程序测试是程序编码完成后的必须一步,通过测试,检查代码的正确性,了解功能的实现性,可以达到

15、发现问题,改进功能,让程序更完善更健壮。没有经过测试的软件是无法大量投入使用的,因为它无法保证可以在用户那边健壮地运行。在测试中,通过QT Creator的编译程序集中检查并且改正各个类所有存在的语法错误,然后用详细设计描述作指南,用调试功能对重要的执行程序进行测试,以发现类中的错误。在测试的过程中,各个功能模块都要覆盖,程序的各个流程都要走通。最后转向开发环境对每个问题进行排查、解决。反复测试,直到再无重要问题出现。总之,经过几周的努力,最终完成了电子相册的开发与设计,完成了课程设计的写作。在开发过程中,体验了其中的苦与乐,学会了如何面临困难,如何解决问题,学会了团结合作,达到了锻炼的目的。

16、同时,拓展了知识面,进一步加深了对软件开发的理解和认识。在这次毕业设计中,明显让我感觉到,以前所学的只是有很多的不足之处。通过理论研究和实践结合,完成了一个基于QT的电子相册,通过这段时间的研究学习,我加深了对QT语言的理解,同时也了解到开发一个应用程序所要面对的困难,经过努力,基本达到了课题的要求。 在整个设计过程中,遇到了很多的问题,也让我意识到了学习QT的难度。在设计初期,根本没办法入手,很多技术,如需要使用到的类库、qmake的编译、高级、低级图形界面的使用等,每一项都需要花一定的时间去掌握和熟悉。更为困难的是,QT的相关资料非常的少。虽然对C语言有一定的学习,但是已经忘的差不多了,通

17、过多方面的努力以及老师的帮助最终还是基本完成了本次毕业设计的大部分功能。通过本次毕业设计,我深刻的了解到QT的功能强大和可移植性,而且有十分易于使用的工程管理工具qmake,还有方便的嵌入式图形界面开发方面的解决方案,极大的提高了生产效率,这在软件开发中是有巨大意义的。五、 实习体会 在学习过程中密切联系生活和工程实际,激发学习的求知欲,培养我们的科学精神和创新精神,在学习过程中,能更好的学懂每一个控件的使用及其各种属性,培养学习对待工作和学习要耐心、细心和一丝不苟、精益求精的职业习惯。这样才能完成一个好的设计项目,通过三个程序的学习,使我的能力有大的提高,并使我有了一定的目标,实习的过程是繁

18、琐的,但是同学们都表现的很积极,认真做好网上图书商城,认真的写每个后台代码,认真的检查,直到完成这次实习作业,这次实训对于我们来说是一种难得的历练,在实习中,坐在办公室里充满了一种浓浓的学习气氛,不是有几句话这样说吗:“我听到的会忘掉,我看到的能记住,我做过的才真正明白。实践经验对于软件开发者来说更是必不可少的。总体来说,对这次实习还是比较满意的。在公司的一个月我明白了:有效率在于小组制作网站中分工明确、讨论有目的;有组织在于小组成员能按时、有质量的完成自己的分工任务,有团队精神在于我们小组实习过程中的共进退,从不因为自己分工任务提前完成而拉下其他组员,我们意识到小组是一个有组织、有记录、有共

19、同目的的集体而不是一个由分散的个人组成的团体,在这次小学期实训中之所以提出小组分工这是锻炼小组组员的个人能力培养,而帮助有困难的组员这充分培养了组员之间的默契和团队协作能力。 俗话说“众人拾柴,火焰高”,在团队合作中,不仅要确保团队的长期目标一致,还要确保短期目标一致。如同在足球场踢球,刚开始比赛时,大家战术和思想都是一致的。而一旦进球后,就会出现有人想守,有人 想攻的情况,这种不一致会造成局面被动并可能导致输球。创业团队也是如此。所以在任何时候,团队成员都要保持一致意见:现阶段的目标是什么,什么事情对团队最重要,然后所有做的事情都配合这个目标来完成。小团队人少,永远有做不完的事,所以在做计划

20、时总是害怕资源出现闲置而添加过多任务。我们一开始也是如此。但慢慢发现,这样不仅弄得团队身心俱疲,不停地赶进度,而且也会因为不停地延期导致团队很沮丧、压力过大影响工作的心情和状态。因此,现在每次迭代只会给大家80%90%的工作量。有意思的是,很多时 候时间都是刚刚够。如果讨论时遇到意见分歧,且这些不一致的意见不涉及对错,那么会很容易陷入各自试图说服别人接受自己观点的困境,纯属浪费时间。所以我们采用易者优先原则,设置了单任务最长讨论时间。 一旦超过讨论时间又无法达成共识,就会选择最简单的方案,先做出来,然后大家测试,最后再做改进。确定项目计划后,我们就基本启动了免扰模式。我们不鼓励在工作时随意地打

21、断别人,即使是一起在办公室工作时。在我们看来,每一次粗暴的打扰(例如电话、 IM)都是对效率的损害,我们更需要的是100%专注在要做的事情上。因此,我们要求每个人如果需要讨论,就先想清楚整个问题,然后在 Pragmatic.ly或者Hipchat里发出来。短时间来看可能回复会有延时,但从长期来看反而能让大家都能更深入的思考、更专注的工作。尽量避免会议。只有一个例外是遇到困难需要头脑风暴时,因为开会比起文字是效率更高的选择。但只有任务涉及者才需要参与,而不需要浪费其他人的时间。状态同步团队人越多,沟通成本越高,尤其是需要知道团队的当前状态时,例如目前进度如何,接下来有哪些事情要做,做完的时候需不

22、需要其他成员帮忙审查,或者有没有卡 在某些地方需要帮助。这些状态和信息同步是非常耗时的,我们更倾向于用眼睛看代替嘴巴说,而 Pragmatic.ly就很好地满足了这点。项目里的所有信息和状态都会实时地同步给整个团队。作为开发团队,我们不一定能保证每个任务都有充足的测试覆盖而且也不追求100%覆盖率。但每一段代码、每一次修改,都必须有其他人来审查,通过后才能进入 主干。代码审查中可以发现当事者没考虑过的设计细节和一些实现上的Bug,保证了软件质量。通过代码审查,每个人可以学习到其他人好的思维方式和编码方 式,也会提出做的不好的地方和改进意见,是整个团队在代码级别的另一种沟通和思考,促进了团队的成

23、长。代码审查也能避免单点故障,万一出了问题,即使代码 编写者不在,仍然有其他人能立刻去修正。除代码需要审查外,过程也是一个很有审查必要的事情。所以我们会不定时地一起进行一次简单的回顾,各自对这个周期的一些工作提出意见,然后在下一个周期里有针对性地改进。整个工作过程就是这样不断地在迭代式调整和改进,让我们根据自身的情况,实践出最适合团队的方式。要想工作好,身体先练好。一个健康的成员才可能高效地工作。在Y Combinator有个理论,在产品发布前,你应该专注并只专注两件半事情,1开发+1跟用户聊天+0.5锻炼身体。而在产品发布后,你应该专注并只专 注三件事情,0.5开发+1跟用户聊天+1运营+0

24、.5锻炼身体。可见锻炼身体的重要。我们团队每个人基本每天都会有专门的运动时间,跑步、游泳,或者健身房,已然成了我们工作的一部分。 爱迪生曾说过“天才等于百分之一的灵感加百分之九十九的努力”,由此可见勤劳在成功道路上决定性的影响。以后工作勤奋不仅仅只表现在工作的出勤率高。每天的工作都要有良好的精神面貌,时刻保持着积极的态度。在今天充满机遇和挑战的社会里,要想让自己抓住机遇脱颖而出,就必须要求自己付出比别人更多的勤奋和努力,积极进取,奋发向上,才能够达成愿望。所以,不管每天都应该在自己的岗位上勤勤恳恳地工作。无论外在的环境如何的残酷,也无论自身条件如何不尽如人意,只要我愿意比别人付出更多的努力,迟

25、早会得到回报。如果我能比分内的工作多做一点,那么,不仅能彰显自己勤奋的美德,而且能发展一种超凡的技巧与能力,使自己具有更强大的生存力量,从而锻炼自己。经过多年的工作我领悟到:要工作勤奋,必须要能吃苦。轻轻松松就能做好的工作要么就是没有意义,要么收入也会很微薄。反之,不怕苦不怕累,对工作投入全部的热情,就一定可以如我所愿。其实只知道埋头苦干是不可取的 ,凡事都要讲个工作效率。科学的工作方法通常就可以达到事半功倍的效果。应该要求自己在工作之前,要有详细的工作计划和进度安排,注意合理性和科学性。工作期间做到讲究工作效率,学会整合资源及人员调配。在工作的当中不断地学习来补充自己,研究更适合的工作制度和

26、方式方法,不断掌握新的科学技术和功能运用。我认为在企业中每位员工都要主动协调人与人之间的关系,工作上密切配合,齐心协力,搞好 生产,才能最大限度调动起员工积极性、创造性。 勇于创新,不断完善职业道德 。企业不断深化发展,就会不断自主创新,包括技术创新,管理创新,思维方式创新等。利用新技术研发新产品,突出品牌,站稳国内市场,开辟国际市场。我们员工要不断自我扬弃,勇于超越,为企业发展与繁荣,做出贡献,更应勤于自省吾身,自我完善,成为企业优秀员工。 在对未来的计划中我认为:进入公司是我的终点,也是我的起点,更是一个新的延伸点。终点,代表着我的校园生活已经成为过去,已从一个学生的角色中脱离出来。起点,

27、代表着我将步入社会,将有自己的想法,自己新的生活环境,将会面对很多以前从来不用去考虑的新问题新情况。新的起点,意味着再次从零开始,意味着踩在原来的基础上来铺垫我人生当中新的道路,打造人生中属于自己的新的平台。新的延伸点,代表着我的学习生活将进入一个新的层次,新的环境,将过去的理论学习随着自己步入社会一同将其用于工作和实践当中。进入新的环境,要学习和掌握的只是很多很多。因此,不能因为自己离开了学校而使自己的思想停滞,社会原本就是一个更大的校园,这里我们有更多的东西需要去学习,去领悟。校服时代离我而去了,单纯的课堂生活远离了我,更多华丽的服饰装饰了我,新的环境伴随着我。进入社会自己不单单是过去校园

28、生活那种单纯的身份,而是多重身份的结合体,更是多种责任的承载者。社会好似一望无际的蓝天,而我恰似一只雏鸟,要想进入蓝天欣赏祖国的大好河山必需要锻炼出一对丰满的羽翼。在平时的工作中即使要面对bug,时间限制和失败沮丧,编程仍然是美妙的。作为程序员,你去实现新系统,升级现有系统。这其中的一些工作就需要和业务专家,产品客户和潜在客户打交道。随着经验的增加,你会发现自己发生了变化,你能更轻松的找到更好的解决方案。你会发现了解业务大背景对问题的解决有很大的帮助。我的想法是眼界放开阔,退后一步看事情全貌。需要认识到自己现在研究的系统只是业务流程中的一部分,一种支持系统。使用Lean 或 Six Sigma

29、 等BPI方法,你可以去分析业务流程,看看是否有方法优化它们,然后开发出能更好跟业务集成的系统。很多的企业有愿意聘请一个BPI专家来对优化和改进他们的生产和整个公司的流程提出建议,然后找一些程序员来开发或提升他们的系统来支持优化后的流程,但很少这两种能合二为一的。程序员增加BPI技能并不是一个新的或极端的思想,但这通常不是作为一个职业发展方向的选项。只是你有了这些技能,你的老板或客户会更高兴而已。而我的经验是,我们应该认识到这是一个可以让你赖以生存的职业方向,是各种公司和组织都在寻找的本领。会编程、懂业务的IT顾问对任何一个公司来说都是炙手可热的,能得到更高的收入待遇。仅是养成了能从不同的角度

30、来看一个系统的习惯,这一足以让你成为一个更好的程序员,更不用说是否直接或间接的运用了BPI技术。拥有了Lean,Six Sigma等方法技巧,加之整体看问题的视角和坚持不懈的改进系统和流程的努力,自己就能获得信任和尊重。如果做的正确,你的意见在项目计划会上就会获得高度的关注,你就能在公司的发展变化上获得更大的积极方向的影响力,而不是一个纯的技术人员。同样,这样的技术力量一般不会被公司外包的,因为这种人才一般是用来监管外包项目。- iii -武汉工程大学计算机科学与工程学院 毕业实习笔记实习笔记(实习期间的每个工作日,学生需要以日记形式记录实习过程。格式包括:时间、地点、主要实习内容等。内容可以

31、包括:每天的学习内容及项目进展、对问题的分析和思考等工作情况。字数不少于500字/篇。宋体,小四号字,单倍行距)时间:XXXX年XX月XX日地点:XXXXXXXXXXXXXXXX主要内容:(开始叙述实习内容或实践过程。) 时间:XXXX年XX月XX日地点:XXXXXXXXXXXXXXXX主要内容:(开始叙述实习内容或实践过程。)今天,老师带领我们来到了华嵌科技有限公司,它位于武汉市洪山区珞喻路鲁巷融众集团C3栋27楼。早上大概七点半我便起了床,在做了简单的洗漱之后,准备了些纸笔和同学们一起向楼下走去了,我们买了点早餐在吃完早餐之后,我们一起乘坐了788路公交车朝着目的地驶去,大概九点我们就到达

32、了集合地在进行了简单的点名登记后,我们排队来到了华嵌科技有限公司,我了解到了华嵌是一个嵌入式培训公司,目前已经和20多所高校建立了校企合作关系,是100家知名企业的嵌入式领域企业提供商和人才服务提供商和人才服务商。目前,学校业务涵盖了嵌入式培训以及嵌入式开发,嵌入式人才服务三大模式,客户范围涵盖整个中华地区,在对公司做了一定的了解之后,我知道了从职业来看,市场上需要的嵌入式必须具备C语言编程能力,嵌入式操作系统(Linux),具有内核剪裁经验具有驱动程序开发经验,这些都是在学校无法学习到的内容,嵌入式培训有一定的门槛的,培训的难度也是相当高的,对于硬件的学习有着很大的要求。嵌入式系统是一个控制

33、程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。 根据昨天老师给我们布置的任务:在虚拟机里面安装Ubuntu,在Ubuntu中安装软件QT,在QT中运用C 语言编写程序,来实现电子相册的要求:对于上一张下一张的选择,对于自动播放的选择和设置,并且能够对所播放文件的选择从中选择出想要播放的文件夹。创建了一台虚拟机后就相当于组装了一台计算机,此时的虚拟机还是裸机,还需要安装操作系统。单击新建虚拟机,在安装Ubuntu时,在安装到Ubuntu安装

34、到82%的时候不动,显示正在配置 apt.这时候最快速的解决办法就是拔掉网线!然后就可以看到安装速度快速爬升了!麻烦一点的就是安装完成后还要自己设置时间和下载一些语言包等等。当然,如果有时间充足,可以不断网,让他自己安装完成!QT是目前在linux上使用较广的一个图形系统。用户经常配合KDE桌面环境来使用。需要注意的是我们看到的并操作的是KDE,而不是QT。QT只是一套库函数(类库),KDE才是可执行程序.同时KDE为了其他程序方便的对其操作,也提供一套库函数(类库)。在PC机上的QT是基于X11图形系统的,在嵌入设备中往往不需要这么累赘,只需使用QTE(QT Embedded)即可包括PC平

35、台中X11和QT库的功能。另一方面,嵌入设备受许多条件的限制,桌面系统也不能直接使用PC机上已有的系统。QTOPIA就是相当于KDE的桌面系统.根据具体嵌入设备的需要可以配置成phone和pocket pc两种。就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信息封装,能确保对象被当

36、作一个真正的软件组件来使用。用于接收信号,而且槽只是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且对象并不了解具体的通信机制。所有从 QObject 或其子类 ( 例如 Qwidget ) 派生的类都能够包含信号和槽。因为信号与槽的连接是通过 QObject 的 connect() 成员函数来实现的connect(sender, SIGNAL(signal), receiver, SLOT(slot);其中 sender 与 receiver 是指向对象的指针,SIGNAL() 与 SLOT() 是转换信号与槽的宏。一个信号可以连接多个槽,当信号发射时,会以不确定的顺序一个

37、接一个的调用各个槽。多个信号可以连接同一个槽,即无论是哪一个信号被发射,都会调用这个槽。信号直接可以相互连接发射第一个信号时,也会发射第二个信号。连接可以被移除,这种情况用得比较少,因为在对象被删除时,Qt会自动移除与这个对象相关的所有连接。语法如下:disconnect(sender, SIGNAL(signal), receiver, SLOT(slot);。今天我只是对信号与槽做了一些基础的了解,这些了解让我对QT有了一定的兴趣,让我更加想要研究下去。通过今天的学习让我对信号与槽有了更加深入的了解,在学习中总结和发现后我知道了在使用信号与槽的时候应该注意的问题。信号与槽机制与普通函数的调

38、用一样,如果使用不当的话,在程序执行时也有可能产生死循环。因此,在定义槽函数时一定要注意避免间接形成无限循环,即在槽中再次发射所接收到的同样信号。例如 , 在前面给出的例子中如果在 mySlot() 槽函数中加上语句 emit mySignal() 即可形成死循环。如果一个信号与多个槽相联系的话,那么,当这个信号被发射时,与之相关的槽被激活的顺序将是随机的。宏定义不能用在 signal 和 slot 的参数中。信号和槽的参数个数与类型必须一致。信号和槽的机制是类型安全的:一个信号的签名必须与接收槽的签名相匹配。(实际上一个槽可能有一个比它所接收到的信号的签名更短的签名因为它能够忽略额外的 参数

39、。)因为签名是一致的,所以编译器能够帮助我们发现类型不匹配。信号和槽是松散的联系在一起的:一个发射信号的类从来不知道也不关心哪个槽接收这个信 号。Qt的信号和槽机制确保如果你将一个信号和一个槽连接起来,这个槽将在正确的时间被用这个信号的参数所调用。信号和槽可以带任何数量任何类型的参数。它们完全是类型安全的。所有从QObject类或者它的子类(如QWidget)继承的类都能包含信号和槽。当对象改变它们的状态并从某种程度上对其它对象感兴趣的时候,信号被发射。这就是所有对象通信时所做的一切。今天我总结了前几天的学习,对象通信不知道也不关心是否有东西在接收它所发射的信号。这就是真正的信息封装,并且确保

40、对象能当作一个软件的组件来使用。槽可以被用来接收信号,但是它们也是普通的成员函数。正如一个对象不知道是否有东西接收它的信号一样,槽也不知道是否有信号与它相连。确保了真正独立的组件能够被Qt创建出来。你可以把任意多的信号和连接单个的槽连接起来,并且单个的信号也可以被任意多的槽连接起来。甚至可以把一个信号和另一个信号直接连接起来。在这次的软件开发中还要使用到对C+语言中的编程需求。对c+的封装、继承、多态等问题进行了强化。封装:将实现细节放在一起并将它们与抽象分开,称为封装 例如:数据隐藏(将数据放在类的私有部分);将实现的细节隐藏在类的私有部分中(通常是短小的代码)也是一种封装;将类函数定义和类声明放在不同的文件中也是一种封装。多态:C+中的多态(虽然多态不是C+所特有的,但是C+中的多态确实是很特殊的)分为静多态和动多态(也就是静态绑定和动态绑定两种现象),静动的区别主要在于这种绑定发生在编译期还是运行期,发生在编译期的是静态绑定,也就是静多态;发生在运行期的则是动态绑定,也就是动多态。静多态可以通过模板和函数重载来实现。在编译期决定你应该调用哪个函数的行为是静态绑定(static-binding),这种现象就是静多态。在运行期决定应该调用哪中类型对象的函数的行为是动态绑定(dynamic-binding),这种现象就是动多态。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁