基于Linux操作系统的C语言编译和调试方法解析

来源 :科学与财富 | 被引量 : 0次 | 上传用户:szshm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:文章先介绍了GCC编译器相关内容,包括GCC编译程序和GCC编译选项,随后介绍了GDB调试程序相关内容,包括GDB具体操作和GDB基础命令,最后介绍了C语言编写中的注意事项,希望能给相关人士提供有效参考。
  关键词:Linux操作系统;C语言编译;调试方法
  引言:C语言拥有较强的表达能力、应用范围较广、功能丰富,同时目标程序的运行效率相对较高,拥有良好的可移植性,不但拥有高级语言应用优势,同时还兼具低语言特征。为此C语言也是当下推广速度最快的计算机语言。
  一、GCC编译器
  (一)GCC编译程序
  Linux OS系统中应用的C编译器主要是GCC编译器,如果初步了解其他控制系统中的某种C编译器,则便会快速掌握GCC操作。结合相关编辑软件编制完成某一C语言源程序后,会直接进入下面几项环节,分别是程序运行、连接、开展编译工作、程序输入等。比如在设计C源程序的filel.c时,通过编译后可以或得filel.o的目标文件,并和系统中的库函数实施有效连接,最终获得filel.out可执行文件,并开始启动filel.out文件运行。
  GCC编译器执行命令的具体用法如下所示:
  GCC[选项][文件名]
  GCC编译程序中如果不存在任何选项的条件下,便会自动生成一种a.out可执行文件,比如以下命令会在现有目录下生成一种称作a.out的文件,相关文件名为gcc filel.c。
  如果想要改变系统默认文件名a.out,在开展编译工作中相关技术人员可以自主指定相应的可執行文件名,从而对系统自动生成的a.out文件实施有效替换,比如可以把filel.c名字的C程序改编为filel.out名字的可执行文件,并按照下方命令参考输入:gcc-o filel.out filel.c。操作中需要注意应用-0选项过程中,后面应该紧跟一种文件名[1]。
  (二)GCC编译选项
  GCC编译选项多种多样,其中仅有少部分会频繁选用,除了相关选项之外,还包含各种不会经常应用的选项,为此可以输入man gcc,并查阅其应用方法。除此之外,部分GCC选项内还包含超出一个的字符,为此应该针对各个选项指定相应的连字符-,尽量不要在同一连字符后面陆续跟多个选项。比如-p、-g、-pg三种选项最终的执行结完全不同,前者主要是剖析建立信息,随后将相应的调试信息添加到可执行文件内,而后者是单纯构建剖析信息。
  二、GDB调试程序
  (一)GDB具体操作
  Linux操作系统中设置有GDB调试器,该种装置主要作用是调试C语言的程序工具,其中CDB提供的具体功能包括程序中可监视的变量值,可以合理设置断点,从而方便在指定代码的基础上,让程序停止运行,并按照顺序一行行落实具体程序。为了保证GDB的正常运行,需要在进行编译的过程中,让程序含有调试信息。调试信息中囊括了程序内各种变量类型,同时还含有可执行文件内的地址映射,和机器码互相关联。
  假如启动GDB调试器并运行,则需要于命令行中输入GDB,随后按下回车键,便可以顺利启动运行GDB,在启动GDB后,显示屏幕中还会展示出相应的提示信息,最后一行主要是GDB提示符号:(gdb)。
  (二)GDB基础命令
  GDB能够为多种命令实现具体功能提供可靠支持。相关命令从原本的简单文件内转入允许检查调用堆栈内容当中,下面介绍在GDB实施程序调试过程中经常会应用到的几种命令:命令file主要功能是将即将调试对象可执行文件装入;kill命令的功能是将调试中的程序终止;list命令功能为将执行文件中部分源代码列出;next命令主要功能是执行某行源代码,但不会进入到函数内部;step命令的功能是按照某行源代码执行,但不会进入函数内;run命令功能是按照当下被调试程序执行;quit命令的功能是从GDB中彻底退出;watch命令的具体功能是针对某一变量进行全面监控,不论其什么时候会被改变;break命令的主要功能是设计断点,保证当程序在运行到一定条件下可以被挂起;make命令功能是只要不从GDB内退出,便可以重新生成执行文件。通过将GDB-H输入到命令行中,便可以获得相关命令选项的列表说明[2]。
  三、C语言编写注意事项
  Linux操作系统内编写C语言的过程中,需要注意下面几种问题:
  第一是和其他系统内进行C语言编写程序相同,包括编辑、编译、调试、运行等步骤,调试方法也大致相同,比如够能够设计断点,单步执行调试程序。第二是在DOS以及WINDOWS相关操作系统中,主要是应用TUBRO C,但其属于一种女汇集运行、调试、编辑多种功能的编程环境,但在Linux操作系统操作系统中,应该如同记DOS命令,把所有命令选项、应用方法和参数全部记住。第三是C语言在各个操作系统里面都是.C的扩展名,但执行文件以及目标文件相关扩展名则大不相同,比如Windows以及DOS相关系统中的目标文件全部是.obj,而相关执行文件则是.exe。但在Linux操作系统以及UNIX系统内,目标文件扩展名是,o,而执行文件的扩展名则是.out,其中需要着重注意,不然便会导致系统无法准确找出相关文件,最终出现错误。
  综上所述,Linux操作系统是全世界范围内最为知名的自由免费软件,其自身便属于一种可以和Windows相媲美的系统,并在互联网中发布出来,大部分人会将其下载下来并结合自身需求不断完善其相关功能,将Linux打造成一种拥有广泛发展前景、较为稳定的操作系统,该系统内还包含多种C语言开发工具。
  参考文献:
  [1]杨炎熙.关于嵌入式Linux操作系统的开发及应用的研究[J].数字通信世界,2019(11):156.
  [2]菅华.深度挖掘配置核查与口令自动化加固工具在实际工作中的应用[J].信息通信,2019(09):100-103.
  作者简介:
  蔡雅慧(1996-),女,籍贯:海南;职称和学历:本科;研究方向或专业:计算机科学与技术专业。
其他文献
摘 要:课程名称同为经济法,但经管类的经济法与法学院的经济法相比具有显著的特殊性,具体表现在培养对象和培养目标的特殊性、课程体系、教学内容和教学方法等方面。只有深刻认识经管类经济法课程的特殊性,才能更有效地实现经管专业的人才培养目标,脚踏实地,践行校训。  关键词:经济法教学;培养目标;特殊性  法律意识是人们的法律观点和法律情感的总和,其内容包括对法的本质、作用的看法,对自己权利和义务的认识[1
期刊
摘 要:在幼儿的成长和发育过程中,学前教育起到了至关重要的作用,在很大程度上影响了幼儿今后会发展成为一个什么样的人。当前我国的教育体制正在不断改变和进步,人们对学前教育也更加重视,在影响幼儿未来发展,以及培养幼儿个性成长的关键时期,促进幼儿学前教育阶段的个性化发展,只有因材施教,不断完善学前幼儿教育,今后才能为社会培养综合型素质人才做出贡献。  关键词:学前教育;幼儿;个性发展;重要性  在幼儿的
期刊
摘 要:互联网金融在大数据和信息化平台中崛起,并不断普及。互联网金融的发展,带动了银行业等金融行业的发展。金融在全球化的推进,在我国市场上表现出日趋激烈的竞争力。金融行业衍生出多元化和多种类的金融产品和服务,提高了我国在国际市场的适应能力和创新能力。金融行业在发展中,涉及了多个领域和行业部门,在良性的竞争发展环境中寻求金融行业的稳定,提高国民经济的可持续增长。  关键词:互联网金融;发展;研究综述
期刊
摘 要:我国市场经济环境不断变化,金融行业发展迅猛,在很大程度上壮大了市场规模。现阶段金融行业迫切需解决的一项问题就让金融行业与经济发展形势相适应。应对如今的经济金融形势有一清楚认识,明确经济调控目标,促进自我经济影响力的不断提升,使之发展方向更健康,更有序。受到经济市场外部因素的影响,我国经济金融的发展在一定程度上遇到阻碍。对当前经济金融形势进行认识及思考,以期促进我国经济更好地发展。对目前经济
期刊
摘 要:口译是“知、析、记、译”四个环节互相贯通、互相联系、互相交错,几乎同时进行的颇为复杂的过程。快而准确地感知,快而准确地思维和转换,快而准确地表达是口译工作的质量标准,这就要求口译者具备一定的知识与能力。本文作者尝试从这两大方面就中韩口译者所应具备的素质提出自己的认识。  关键词:中韩口译者;知识;能力  一、前言  翻译在人类文化交流中起着至关重要的作用,而译者作为翻译活动的主体, 译者的
期刊
摘 要:在科学技术的发展中,引发了金融行业的变革,新的金融模式不断更新。互联网金融是借助大数据和信息化平台,进行与传统金融模式相融合和互相补充而发展起来的,呈现多种模式和形成并存的现状。在互联网中的应用以及电子商务、程序软硬件等与筹资、投资等整合,大大推动了国内金融市场的改革和创新。互联网金融模式与传统金融模式存在着不同和差异,互联网金融和传统金融都存在优势和劣势,因此互联网金融和传统模式都应当被
期刊
摘 要:梦得利尔幼儿园教师团队建设决定了我园的发展方向和文化品质。无论是日常保教、课程建设还是教学科研工作,都不可能仅仅依靠教师个人力量来完成,而要依靠教师团队协作才能有效达成预期目标。梦得利尔幼儿园应多举措优化师资队伍,多途径打造专业团队,进而提升梦得利尔幼儿园保育教育质量。  关键词:管窥;梦得利尔;幼儿园;教师团队;建设 策略  梦得利尔幼儿园教师团队建设决定了我园的发展方向和文化品质。无论
期刊
摘 要:本文对中国的建筑材料的发展历史进行了分析和总结,将其分为原始阶段、传统材料阶段和绿色智慧型材料阶段,并简单介绍了我国建筑材料的应用情况。同时,本文顺应我国环保化、智能化的建筑理念,对我国建筑材料的发展前景做了一些分析。  关键词:建筑材料;发展历史;前景  1.建筑材料概述  建筑材料就是构成建筑物的各种材料,是开始建造建筑物之前必须准备的材料。建筑材料的发展与科技进步的关系十分密切,科技
期刊
摘 要:财政税收一般都是一国的主要来源,我国也不例外。最近几年,中国通过改革自强走上了富强发展的道路,经济发展也越来越快,相对应的税收体系也在逐渐的发展并完善,这是由我国的经济发展速度决定的,也是由我国的经济发展模式决定的。但是,飞速发展的中国经济之下,财政税收工作仍然是我们需要重视的一部分,因为我国目前的财政税收工作仍然存在一些弊端和不足,因此在财政税收工作中务必做出积极的调整和改进。  关键词
期刊
摘 要:当前我国的城市污水处理厂内部已经出现多种问题,如对于氧化沟的耗氧速率以及碱度变化等都存在不同的问题点城市污水处理厂出水氨氮超标就会导致在污水处理以及运输过程中出现水氨氮含量超标突发事件。基于此情况,相关的污水处理厂一定要做出相对应的运行参数、补充碳源以及折点加氯等处理对策,以此来保障其含量的稳定值,从而形成良好的生态池硝化菌系统。恢复良好的生态池硝化菌系统就能维持良好的水中各项指标均能,提
期刊