文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大神支招 如何在Linux下运行C语言程序

软工小能手

软工小能手

2024-04-17 23:07

关注

  刚入门学习C语言程序的小伙伴比较常遇到的其中一个问题是:如何在Linux下运行C语言程序。今天针对这个热门问题,小编为大家准备了详细的教程!

  小编先给大家普及一些关于C语言程序的基本常识:首先大家要清楚Linux的不同版本,要清楚市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核、桌面环境和各种常用的必备工具,国内使用较多的是ubuntu(乌班图)、CentOS、Deepin(深度Linux)。所以我们这一次的教程是以Deepin为例来讲述如何编译C程序。

  首先我们来讲一个文本编辑器:Gedit

  Gedit是小编最喜欢的一个文本编辑器,因为Gedit真的是非常简单实用,拥有漂亮的界面,支持语法高亮,比Vim更易上手。所以本教程将Gedit作为C代码编辑器。

大神支招 如何在Linux下运行C语言程序_计算机等级考试二级考试_c语言经典程序_ c语言程序设计_编程学习网

截图

  注意:Gedit支持多种语言的高亮显示,一般情况下能够自动识别语言,如果识别错误,请在“编辑->高亮模式“下选择C。

  接下了我们了解一下什么是GCC

  本教程毫不犹豫地使用GCC来编译C程序,因为GCC是Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具。所以GCC很常用很重要。

  完成了上面的步骤后我们保存文件后退出,打开终端并cd到当前目录,输入下面的命令:

  gcctest.c-otest

  在这个时候大家可以直接将C代码编译链接为可执行文件。

  大家看到在当前目录下多出一个文件test,这就是可执行文件。不像Windows,Linux不以文件后缀来区分可执行文件,Linux下的可执行文件后缀理论上是可以任意更改的。

  其实这一个步骤我们是可以分步编译的,分步编译效率可能不是最高的,可是却能大大降低我们犯错的几率哦!

  首先第一步:预处理

  gcc-Etest.c-otest.i

  这时,我们可以看到在当前目录下会多出一个预处理结果文件test.i,打开test.i可以看到,在test.c的基础上把stdio.h和stdlib.h的内容插进去了。

  第二步:编译为汇编代码

  gcc-Stest.i-otest.s

  其中-S参数是在编译完成后退出,-o为指定文件名。

  第三步:汇编为目标文件

  gcc-ctest.s-otest.o

  在这里大家要注意.o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是因为还没有链接的原因,所以结构会有点不一样。

  最后一步:链接并生成可执行文件

  gcctest.o-otest

  如果有多个源文件,可以这样来编译:

  gcc-ctest1.c-otest1.o

  gcc-ctest2.c-otest2.o

  gcctest1.otest2.o-otest

  注意:如果不指定文件名,GCC会生成名为a.out的文件,.out文件只是为了区分编译后的文件,Linux下并没有标准的可执行文件后缀名,一般可执行文件都没有后缀名。

  编译后生成的test文件就是我们做好的程序了,这个时候我们要运行它:

  ./test

  如果没有运行权限,可以使用sudo命令来增加权限(注意要在Linux的分区下):

  sudocdmodtest777

  程序完成后,我们需要对程序进行检错,这时候可以用-pedantic、-Wall、-Werror选项:

  -pedantic选项能够帮助程序员发现一些不符合ANSI/ISOC标准的代码(并不是全部);

  -Wall可以让gcc显示警告信息;

  -Werror可以让gcc在编译中遇到错误时停止继续。

  一般人我不告诉他,这3个选项都是非常有用的!大家好好记住它们。

      在本次的教程中大家要注意文件后缀名的添加,需要添加的地方一定要注意,而对于程序的检错,我们也不能忽略,认真掌握好以上的三个选项对于大家以后的语言程序编写是非常有帮助的!能给大家带来知识是编程学习网最大的心愿,希望本文对大家有所帮助!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     676人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     305人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     262人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     366人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     174人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-考试认证-考试信息-考试报考
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯