第一篇:社工实验报告二
《社会工作概论》实验报告二
分析案例“心病缘于缺乏父爱母爱”。
亚静是一个二十五岁的已婚女性。
连她自己都感觉到,自己的心理是越来越不正常了。
亚静在前不久折腾调工作时,形成了一紧张就要大便的坏习惯,而且拉出大便不成形。于是从那时的每天早晨,亚静都要认真地观察大便,但一直也未恢复正常。这使她更着急、更紧张。她还总是因此而联想到,大便如此,是因为自己没好好吃饭。她越是这样想,就在吃饭时越紧张,以至自己产生不了一点食欲了。
此外,亚静还老怀疑自己身体里已经有了什么病,而且这种观念越来越强。整天到晚不是觉得胃不舒服,就是觉得心跳不对劲。亚静担心害怕的事情还有许多:她怕调到新单位后搞不好人际关系;她怕丈夫出差,自己就会没了主心骨;怕同桌的同事今天不来,自己单独应付不了工作;怕„„
缺乏正常的父爱和母爱是铸造亚静日后不良性格的主导因素。从心理学的意义上来看,父爱和母爱对一个人身心的健康成长是至关重要、缺一不可的。母爱是无条件的,她给予孩子无限的关心与温暖,她让子女获得人间的温情与安全感。缺乏母爱的孩子,会形成所谓的“偏阳人格”,如孤独、冷漠、多疑、狭隘、抑郁等不良品性;而父爱是有条件的,他鼓励孩子上进,严格要求着孩子,并传授给孩子各种克服困难的方法,他要以孩子不断进步为自己施放的先决条件。缺乏父爱的孩子,会形成所谓的“偏阴人格”,如脆弱、怯懦、任性、自私、缺乏耐性、容易消极悲观等。
然而,不无遗憾的是,并不是每一个父母都拥有能够给予正常父爱或母爱的能力的。
亚静的心理问题恰恰说明了缺乏正常母爱和父爱而导致的不幸性格。母亲对她的压抑,对她造成的感情封闭,造成了她有忧有愁而不会向人倾诉,不会找人化解。她只会把一个个令自己忧愁的问题,在心里反复地想,并以自己消极性的思维 方式在不断地加以放大,变成了实际上是自己在吓唬自己。同样的,父亲的软弱及无能,以及他对女儿的毫不关心,使得女儿在其成长过程中,没有培养起坚强的个性,也没有培养起战胜困难所需的智慧。由此造就出的人,由于他不能勇于解决问题和善于解决问题,他就会特别怕什么问题降临在自己头上──正如亚静那样怕这怕那一样。
一运用认知理论分析案例
这是以认知心理学为基础发展起来的一种社会工作理论。认知心理学主要研究思维和语言等高级的内部心理过程。
所谓认知一般是指认识活动或认识过程,包括注意、知觉、记忆、思维和想象。具体来说,“认知”是指一个人对一件事或某对象的认知和看法,对自己的看法,对人的想法,对环境的认积和对事的见解等等。由于文化、知识水平及周围环境背景的差异,人们对问题往往有不同的理解和认知。例如:同样的一所医院,小孩可能依自己的认识和经验,把它看成是一个“可怕的场所”,不小心就会被打针;一般人会看成是“救死扶伤”之地、可帮其“减轻痛苦”;而有些老年人则可能把医院看成是“进入坟墓之门”。所以,关键不在“医院”客观上是什么,而是被不同的人认知或看成是什么不同的认知就会滋生不同的情绪,从而影响人的行为反应。
案例中,亚静很明显对社会认知的理解不够深刻,父爱母爱的缺乏确实是会让人的心理和认知产生很大的阻碍,但是后天的理解和认知其实更为重要。“认知疗法”强调,一个人的非适应性或非功能性心理与行为,常常是受不正确的认知而不是适应不良的行为。正如认知疗法的主要代表人物贝克(A·T·Beck)所说:“适应不良的行为与情绪,都源于适应不良的认知,因此,行为矫正疗法不如认知疗法。”例如,一个人一直“认为”自己表现得不够好,连自己的父母也不喜欢他,因此,做什么事都没有信心,很自卑,心情也很不好。认知疗法的策略,便在于帮助他重新构建认知结构,重新评价自己,重建对自己的信心,更改认为自己“不好”的认知。认知理论认为人的情绪来自人对所遭遇的事情的信念、评价、解释或哲学观点,而非来自事情本身。情绪和行为受制于认知,认知是人心理活动的决定因素,认知疗法就是通过改变人的认知过程和由这一过程中所产生的观念来纠正本人的适应不良的情绪或行为。治疗的目标不仅仅是针对行为、情绪这些外在表现,而且分析病人的思维活动和应付现实的策略,找出错误的认知加以纠正。所以说案主姜峰应该理性的认清自己,调整好自己的情绪,才不好导致精神的紊乱。
二运用“心理-社会派”分析案例
心理社会派是一种将案主的心理状态、心理过程同他生活的社会环境结合起来考虑并进行工作的方法。事实上,如果我们承认人有其内部心理世界,同时也生活在外部社会环境中,那么,我们就需要将人作为一个整体去认识,即“人在情境中”。要认识人就要既认识他的内部心理世界,同时又要认识他生活于其中的社会环境。“社会一心理”模式是一种系统认识论,它帮助社会工作者整体地去了解、认识案主,从而既提供增加案主自我认识的服务,又与案主所处的社会环境工作,这就是直接与间接服务。
心理社会派将有关意识、潜意识、人格功能、人类行为、情绪的有关知识结合在一起,帮助工作者为案主制定个别化的“诊断与治疗计划”。这一模式起源于20世纪20-30年代。玛丽·芮奇蒙的《社会诊断》中已有“直接、间接治疗”,后来发展为诊断学派。20世纪50-60年代受弗洛伊德心理分析理论,特别是人格理论的影响发展出了心理动力个案工作。到20世纪70-80年代,对这个模式有很多批评,其中之一是关于长期工作但效果不彰的问题。实际上,“社会一心理”模式更多的是一种认识方法,而不是系统治疗,它的主要措施是通过认识和理解人及其心理的发展过程,来认识案主问题的根源,以对症下药,帮助案主解决问题和个人成长。
案例中,亚静生活的社会环境,家里的影响因素较大,但是事实上,如果我们承认人有其内部心理世界,同时也生活在外部社会环境中,那么,我们就需要将人作为一个整体去认识,即“人在情境中”。所以,处在特殊的环境当中,我们面临的心理上的、社会上的压力就更大,即便这样,我们也要理性坦然的面对它,否则就会像案例中亚静那样,濒临崩溃的边缘。
认知疗法强调,常见的心理障碍的中心问题是某些歪曲的思维。认知治疗在于向患者提供有效的方法以克服盲目、错误的认知。从广义的角度看,认知疗法包括所有能改变错误认知的方法,如说明、教育、批评、促膝谈心等作为一种特殊的治疗手段,相应地有其特殊的方法、技术和程序。首先,施治者要向求治者说明一个人的看法与态度是如何影响其心情及行为的。其次,帮助求治者去检讨他所持有的对已、对人以及对四周环境的看法,从中发觉跟患者主诉的问题有密切关系的一些“看法”或“态度”,并协助患者去检讨这些看法或态度与一般现实的差距,指出其错误认知的非功能性与病态性。最后,督促患者去练习更换这些看法或态度,重建功能性的、健康的看法与态度,以便借此新的看法或态度来产生健康的心理与适应性的行为。
我在这里剖析了亚静的一些人生经历及家庭背景,并不是想归罪谁或者谴责什么(亚静的父母很可能是他们上一辈不幸的家庭所铸造出来的)。我只是希望此文能使有亚静类似心理问题的人,找到一种分析自身问题原因的启示和参照方法;同时我也更希望现在正在做父母的,应该从中得到一些有益的经验教训,让自己的子女得到足够的、健全正常的父爱和母爱!总之,社会工作者的主要任务就是调整案主的生活环境、改变案主遇到的刺激,并采用一定的削弱机制矫正案主的问题行为,使其逐渐削弱不良行为,并习得正常行为,再进而强化这些正常行为。社会工作的目的就是帮助案主学习和掌握恰当的反应模式。
第二篇:社工实验报告一
《社会工作概论》实验报告一
分析案例“别再加压了,好吗”。
案例中所呈现的问题是:文中主人公姜峰面临工作单位和家庭双重压力,由心理压力发展到严重的焦虑症,诱发身体疾病,丧失了对工作和家庭生活的信心。导致案主产生上述问题的原因有:
第一、工作环境的变化。主人公工作岗位的变化使主人公面临的社会压力增加了。
第二、缺乏家庭成员的关心和支持。外在环境变化的同时,家里不但没有为其提供相应的帮助,反而要求其为家庭作出更多的贡献,进一步增加了案主的生活压力。
第三、面对这两个方面的压力来,主人公调适能力低下,无法及时化解生活压力,反而忧心忡忡,从而演化成为严重的焦虑症,最后消极地逃避问题。
一
运用弗洛伊德的精神分析理论来分析
弗洛伊德认为整个精神分析的基本前提就是潜意识的存在。他说:“心理过程主要是潜意识的,至于意识的心理过程则仅仅是整个心理的分离的部分和动作。”潜意识是人的本能冲动、被压抑的欲望和本能冲动的替代物,其基本特征是非理性、非道德性、反社会性、无时间性和不可知性;而意识则是由潜意识过程衍生而来的,是心理的表层部分,是同外界接触直接感知到的稍纵即逝的心理现象;在潜意识和意识之间还有一层前意识状态。
案例中主人公姜峰自从当上公司经理后,任务繁重,得了焦虑症,总担心企业会被自己搞垮,整天忧心忡忡的,一方面担心有一天100多号职工都来向自己张口要饭吃怎么办,另一方面担心没有他的全力协助孩子会考不上大学,他对未来完全失去了信心。很明显,潜意识的存在,导致姜峰精神的混乱,整天忧心忡忡。
二 运用人格理论分析案例
弗洛伊德用人格结构理论来代替了早年的意识分层说。他认为人格有三个主要系统所构成,即本我、自我和超我,三者互相制约。本我是生物的我,它总是想冲破一切障碍获得满足,从而获得生存空间;本我是与生俱来的最原始的人格部分,如:婴儿饥饿时就会哭泣;它根据享乐原则行事,属潜意识层面。超我则是社会化了的我,对本我的破坏性冲动起制约作用,它根据道德原则行事。而自我则在本我和超我之间起平衡作用,调和内部生物本能与外部现实环境,满足需要;它根据现实原则行事,是理性的我。弗洛伊德指出,一个健康的人格应是这三部分的平衡。本我太弱,会没有了生存愿望;超我太强大,也会出现精神疾病。
在弗洛伊德的人格动力学中,本能是最根本的推动因素,是个体释放心理能的生物力量。他认为本能主要是由自我保存的本能和性本能。按照弗洛伊德的理论,人格发展需要经历五个阶段,即:口腔期、肛门期、生殖崇拜期、潜伏期、生殖期。在五个阶段中,每个阶段都有每个阶段的任务和作用,而且在阶段过渡的过程中人会产生焦虑,如果不能克服这些焦虑,则这些焦虑可能被压抑在潜意识中。精神分析理论认为个人的人格结构在六岁之前已经大致发展完成,以后的发展主要是加强这些基本结构。因此,童年时期的生活经历对于个人的人格结构的完善是非常重要的。
案例中,案主姜峰,在本我获得满足后,在一定程度上也实现了超我,但是自我没能在本我和超我之间起平衡作用,调和内部生物本能与外部现实环境,满足需要。由此看来,超我的实现,并非都意味着是好事,过分的超我就会使人产生精神疾病。姜峰即是过大的压力,导致精神的紊乱,以致不能理性的行事,在单位,他坐立不安地惦记着家里;在家里,他辗转反侧地想单位的事。他妻子呢,不但不替他着想,还常常奚落他。他终于病倒了,而且病得不轻,犯起来不是前心疼,就是后背酸,要不就是肝区压痛,甚至一连几天胃胀腹泻。医生下了一串打问号的诊断,说难以确诊。迫于无奈,姜峰只好双卸任了,把企业交还给上级,把独生子推给了老婆。
三
运用认知理论分析案例
所谓认知一般是指认识活动或认识过程,包括注意、知觉、记忆、思维和想象。具体来说,“认知”是指一个人对一件事或某对象的认知和看法,对自己的看法,对人的想法,对环境的认积和对事的见解等等。由于文化、知识水平及周围环境背景的差异,人们对问题往往有不同的理解和认知。例如:同样的一所医院,小孩可能依自己的认识和经验,把它看成是一个“可怕的场所”,不小心就会被打针;一般人会看成是“救死扶伤”之地、可帮其“减轻痛苦”;而有些老年人则可能把医院看成是“进入坟墓之门”。所以,关键不在“医院”客观上是什么,而是被不同的人认知或看成是什么不同的认知就会滋生不同的情绪,从而影响人的行为反应。
在案例“别再加压了,好吗”中,案主姜峰显然是认知能力不够强,对于自己的升任,并不意味着将辅导儿子的责任完全推给妻子,生活是两个人的事情,即便任务繁重,但是仍可以与妻子协调好,而不是直接推卸掉自己的责任。孩子的教育也是一样,需要的是父母双亲的庇护才会达到更好的效果。“认知疗法”强调,一个人的非适应性或非功能性心理与行为,常常是受不正确的认知而不是适应不良的行为。正如认知疗法的主要代表人物贝克(A·T·Beck)所说:“适应不良的行为与情绪,都源于适应不良的认知,因此,行为矫正疗法不如认知疗法。”例如,一个人一直“认为”自己表现得不够好,连自己的父母也不喜欢他,因此,做什么事都没有信心,很自卑,心情也很不好。认知疗法的策略,便在于帮助他重新构建认知结构,重新评价自己,重建对自己的信心,更改认为自己“不好”的认知。认知理论认为人的情绪来自人对所遭遇的事情的信念、评价、解释或哲学观点,而非来自事情本身。情绪和行为受制于认知,认知是人心理活动的决定因素,认知疗法就是通过改变人的认知过程和由这一过程中所产生的观念来纠正本人的适应不良的情绪或行为。治疗的目标不仅仅是针对行为、情绪这些外在表现,而且分析病人的思维活动和应付现实的策略,找出错误的认知加以纠正。所以说案主姜峰应该理性的认清自己,调整好自己的情绪,才不好导致精神的紊乱。
四
运用系统理论分析案例
系统理论是在社会学领域的功能主义理论和一般系统理论的基础之上发展起来的一种理论。系统论的主要概念有:(1)系统,即一个由发挥着各种功能的、相互依赖的各种要素构成的有机整体。系统又可以分为:封闭系统,即不与外界发生交换的系统;开放系统,即与外界进行交换的系统。系统内部物质和能量的交换要大于系统之间的交换。(2)输入,即能量被允许穿过边界进入系统内部。(3)生产能力,即能量在系统内部如何被使用。(4)输出,即能量穿过系统边界进入环境之中。(5)反馈,即系统对环境的输出会以信息或能量的形式反馈给系统。(6)熵,即系统使自身的能量保持下去的倾向。
系统论把人与其生活环境也看成是一个系统。对于社会工作者来说,他所面对的工作对象也是处在某种生活环境,即:特定的系统之中,社会工作者要想对其工作对象进行治疗就必须关注他所生活的系统环境。一般而言,下列三种系统对于个人来说是有益的:
(1)非正式的或者自然的系统,例如:家庭、朋友;(2)正式系统,例如:社区群体、贸易联合会;(3)社会系统,例如:医院、学校。
但是,行为有问题的人不能很好地利用这些系统,这是因为:第一、这些人的生活中可能不存在这些系统,例如:一个人可能没有什么亲戚朋友;第二、人们不了解或者不想使用这些系统,例如:一个受到父母虐待的儿童不知道到哪里寻求帮助,或者害怕向警察救助;第三、这些系统可能会给这些人带来新的麻烦;第四、这些系统可能会与其他的系统相互冲突。
从案例中不难看出,案主姜峰不能够很好地协调好家庭与事业这两个系统,环境的因素导致问题产生了分歧。因此社会工作者必需关注私人事务与公共事务之间的关系,因为个人遇到的问题往往是由于其生活于其中的社会环境造成的。所以社会工作者在实际工作中要做到:
(1)帮助人们使用和改善他们自身对问题的解决能力,例如:学习与家人相处的技巧;
(2)在个人与资源系统之间建立联系,例如:帮助一个残疾人进入社区生活中心,并且使他不至于因为自身的残疾而受到嘲笑或歧视;
(3)改进个人与资源系统之间的互动,例如:帮助一位因性别歧视而丧失工作机会的人获得合法权益;
(4)改进资源系统内部人们之间的互动,例如:家庭成员之间,工作单位内部同事之间;
(5)帮助发展和改进社会政策,例如:通过努力促使国家对就业过程中存在的歧视问题进行立法;
(6)给予实际的帮助;
(7)作为社会控制的行动者。总之,社会工作个案管理是一种服务供给方式。专业社会工作者在其中既是需求评估者,又是直接的服务提供者,更是服务的管理者与协调者。一般情况下,社工评估案主及其家庭的需求,并在适当的时候安排、协调、监督、评估及倡议多元化的服务体系,以此满足案主特定的复杂需求。一个专业的社会工作者即社会工作管理的主要供给者。与其他形式的个案管理相区别的是,社会工作个案管理不仅呈现了案主的生理、心理及社会状态,更重要的是表达了个案管理运行背景的社会系统的形态。
第三篇:实验报告二
成都大学《Visual FoxPro 程序设计》实验报告
实验二 数据表文件的建立与操作
班级:级专业班姓名:实验时间:年月日 实验目的:
1.学习用菜单法和命令法进行数据表结构的建立、显示、修改及数据表文件的打开和关闭。2.熟悉掌握用菜单法和命令法进行数据表数据的添加、浏览、修改、删除、检索与统计。实验内容:
1.完成“Visual FoxPro程序设计上机实验及习题集·实验3”中1~10项。2.完成“Visual FoxPro程序设计上机实验及习题集·实验4”中1~6项。
3.分别复制文件XS.DBF和CJ.DBF为学生.DBF和成绩.DBF,创建一个名为练习.DBC的数据库,在其中完成下列操作,写出命令语句:
① 显示86年出生的学生记录,要求只显示学号、姓名和出生日期。
② 将所有的团员记录复制到文件:团员.DBF。
③ 将所有入校总分在500分以下(不包括500分)的学生的入校总分增加5%。
④ 设当前记录指针在第一条,分别用命令:GO、SKIP、LOCATE和SEEK实现将指针定位到
第五条记录。
⑤ 建立一个以入校总分和出生日期排序的索引文件(复合索引,索引名为ZFRQ)。
⑥ 设已分别在两个工作区打开了学生.DBF和课程.DBF,将两个表连接成学生成绩.DBF,在其中包含字段:学号、姓名、语文、数学、英语。
⑦ 设学生.DBF和课程.DBF两表已按学号建立了索引,按学号建立两表的临时关联。
实验收获和建议:
成都大学计算机基础教研室制
第四篇:射频实验报告二
实验二
混频器实验
一、实验内容
1.连接混频器实验板,将混频器设置为下变频模式。
2.用射频连接线将信号加至实验电路板,观测本振信号和射频信号以及中频输出的波形,记录并分析。
3.观测中频输出未经过滤波电路和经过滤波电路的输出信号,分别记录信号的波形并进行分析。
4.保持本振不变,改变射频信号的功率,测量得出混频器的1dB压缩点
二、实验记录
1.记录信号源产生的信号波形。
2.用示波器在测量点3、测量点4观测本振信号和射频信号的波形,记录并分析。
测量点3:本振信号
测量点4:射频信号
分析:设本振信号为:,射频信号为:,图可知对于本振信号为15MHZ,本振信号峰峰值为380mv。
对于射频信号为20MHZ,峰峰值为52mv。
3.用示波器在测量点5和输出2端分别观测未经过滤波电路和经过滤波电路的输出信号,分别记录信号的波形并进行分析。
测量点5输出信号波形:
分析:测试点5输出信号为中频信号,从频域角度看,变频是一种频谱的线性搬移,输出中频信号与输入射频信号的频谱结构相同,唯一不同得是载频。从时域波形看,输出中频信号的波形与输入射频信号的波形相同,不同的也是载波频率。
输出2端输出信号波形:
分析:滤波前的输出信号波形有毛刺,有失真,说明有噪声干扰;滤波后波形比较光滑。输出信号通过滤波器,利用电路的幅频特性,其通带的范围设为有用信号的范围,而把其他频谱成分过滤掉,从而滤除无用信号和噪声干扰。
4·改变射频信号的功率,在产生射频信号的信号源输出端和输出3端分别测量射频输入信号的幅度VRF和中频放大输出信号的幅度VIF,分析计算混频器的1dB压缩点。
输入信号幅度VRF(单位mV):100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700
对应输出信号幅度VIF(单位mV):66,124,176,230,278,320,365,388,408,416,445,448,456,464,464,464,472则计算可得
输入功率PRF(单位*10^4mW):1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289
输出功率PIF(单位*10^3mW):4.356,15.376,30.976,52.9,77.284,102.4,133.225,150.544,166.464,173.056,198.025,200.704,207.936,215.296,215.296,215.296,222.784对应图像:由于其电阻值相同,故功率可直接写成信号幅度的平方,对前四个值进行拟合后的函数为w=3.2414*x+1.1146
转换为dBm后的图像为(w=0.9011*x1+0.3469):
由图可得1dB压缩点的位置大致在输入功率65dBm左右。
5.改变射频信号的频率,记录下不同的射频频率及其对应的中频信号频率,绘出中频频率随射频频率变化的曲线。
射频频率(MHz):6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
对应中频信号频率(MHz):9.01,8.00,6.99,5.99,5.00,4.00,3.01,2.00,1.00,0.00,1.00,2.00,2.99,4.00,5.00
对应图像:
三、思考题
1.一般情况下,环行变频器的射频口输入信号都要求信号的频率值,而中频输出信号的频率值却可以从最高频率延伸到直流,请结合实验原理说明是什么原因?
因为中频输出信号频率fIF=fRF-fLO,本振信号频率fLO从0Hz到fIF,当fLO=0时,中频输出信号频率fIF=fRF,为最高频率当fLO=
fRF时,中频输出信号频率fIF=0。
2.混频器产生干扰的原因有哪些?
由于器件非线性特性的高次方项,使本振与输入信号除产生有用中频分量外还会产生很多组合频率,当某些组合频率落到中频带宽内,就形成了对有用中频信号的干扰。一般可分为以下几种:
(1)
干扰哨声
混频器的中频是。若本振和射频的谐波引起的组合满足,其中是音频,p、q为整数,它是由非线性器件的(p+q)次方产生的。则这些组合频率分量和有用中频就会在检波器输出产生差频,形成哨叫声,称此为干扰哨声。
(2)
寄生通道干扰
当混频器的输入信号中伴有干扰信号时,本振除与射频产生中频信号外,还可能与干扰相互作用产生中频,即:,它是由非线性器件的(q+p)次方项产生的。若把射频信号与本振产生中频的通道称为主通道,则干扰与本振产生中频的通道称为寄生通道。寄生通道产生的中频干扰了有用信号的中频分量。
(3)
互调失真
当混频器的射频输入口有多个干扰信号、同时进入时,每个干扰信号单独与本振作用的组合频率并不等于中频,但可能会产生如式
所示的组合频率分量,使变频器的输出中频失真。它是由非线性器件的(r+s+1)次方产生的。这种由两个干扰信号相互作用而产生的干扰称为互调失真。r和s的值越小,相应产生的寄生中频分量的幅度越大,互调失真就越严重
3.混频器克服干扰的措施有哪些?
(1)提高混频器前端电路的选择性(如天线回路的选择性)
(2)将中频选在接收频段以外,避免产生最强干扰哨声,同时也可以有效地发挥混频前各级电路的滤波作用。
(3)合理选择混频管的工作点,使其主要工作在器件特性的二次方区域,或者选择具有平方律特性的场效应管作为混频器件,可减少输出组合频率数目,进而减少混频干扰。
(4)采取各种平衡电路,如模拟乘法器、平衡混频器、环形混频器,可以大大减少组合频率分量,也就减少了混频干扰。
四、实验总结与心得体会
通过此次实验理解了混频器的工作原理,也理解了混频器的产生干扰类型及原因以及克服干扰的措施,对1dB截止频率也有了更深的理解
第五篇:嵌入式实验报告二
嵌入式 实验报告二 二
实验时间
2013/6/9
报告人
一、实验目的:
1.学习cygwin; 2.通过上机实验,使学生验证、巩固和充实所学理论知识,加深对相关内容的理解,了解嵌入式 Linux 的工具链,掌握基于 Linux 的 C 程序设计。
二、实验要求:
1.安装 cygwin;2.学习GCC 的使用和 Makefile 的编写。
3.编程实现文件拷贝功能。
三、问题:
1.简述 Gcc 的常用选项并举例说明。
Gcc 基本使用格式:$ gcc
[ 选项 ]
<文件名> 命令行中 gcc 表示我们是用 gcc 来编译我们的源程序,[选项]表示我们要求编译器给我们输出的文件为何种类型,相当于一种约束。
常见选项:
-o :
:
将源文件经过 gcc 处理过的结果输出,这个结果文件可能是预处理文件、汇编文件、目标文件或者最终的可执行文件。比如:gcc hello.c –o hello 把源文件 hello.c 经 gcc 编译后生成可执行的文件输出为 hello-E :
:
只激活源程序的预处理,这个不生成文件,你需要把它重新定向到一个输出文件里面。比如:gcc –E hello.c –o hello.i 把源文件 hello.c 经 gcc 预处理后的文件输出为 hello.i。
-c :
:
只激活源程序的预处理,编译,和汇编,也就是他只把程序生成 obj 文件。比如:gcc –c hello.c –o hello.o 把源文件 hello.c 经 gcc 预处理,编译,和汇编后的文件输出为 hello.o。
-S :
:
只激活源程序的预处理和编译,就是指把文件编译成为汇编代码。比如:gcc –S hello.c –o hello.s 把源文件 hello.c 经 gcc 预处理,编译后的文件输出为 hello.s。
-g :
:
表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息。
2.简述 Makefile 编写规则,举例说明。
makefile 编写规则:
(1)以“#”开始的行为注释
(2)文件依赖关系为:
target: components //表示的是依赖关系 TAB rule //编写规则,TAB 表示那是一个 TAB 键 例如有如下:
/* main.c */
#include “mytool1.h”
#include “mytool2.h”
int main(int argc,char **argv)
{
mytool1_print(“hello”);
mytool2_print(“hello”);
}
/* mytool1.c */
#include “mytool1.h”
void mytool1_print(char *print_str)
{
printf(“This is mytool1 print %sn”,print_str);
}
/* mytool2.c */
#include “mytool2.h”
void mytool2_print(char *print_str)
{
printf(“This is mytool2 print %sn”,print_str);
} /* mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
/* mytool2.h */
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
void mytool2_print(char *print_str);
#endif 可以这样来编译
gcc-c main.c
gcc-c mytool1.c
gcc-c mytool2.c
gcc-o main main.o mytool1.o mytool2.o
这样的话我们也可以产生 main 程序,而且也不时很麻烦 在我们执行 make 之前,我们要先编写一个非常重要的文件——Makefile。对于上面的那个程序来说,可能的一个 Makefile 的文件是:
# this is the Makefile of main
main:main.o mytool1.o mytool2.o
gcc-o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
gcc-c main.c
mytool1.o:mytool1.c mytool1.h
gcc-c mytool1.c
mytool2.o:mytool2.c mytool2.h
gcc-c mytool2.c