Linux下C语言开发环境的搭建

article/2025/8/22 18:00:49
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/liubing8609/article/details/82695528

GCC编译器简明教程(Linux下C语言开发环境的搭建)

市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核、桌面环境(例如GNOME、KDE、Unity等)和各种常用的必备工具(例如Shell、GCC、VIM、Firefox等),国内使用较多的是CentOS、Ubuntu(乌班图)、Debian、Redhat等。

Linux主要应用于各种服务器(例如网站服务器、数据库服务器、DNS服务器、邮件服务器、路由器、负载均衡集群等),而不是我们常见的个人电脑。Linux是服务器操作系统的绝对霸主,占据了80%以上的份额,在未来的服务器领域,Linux是大势所趋。这其中,又以CentOS和Ubuntu为主,CentOS占有压倒性的优势。服务器操作系统80%以上的市场份额被Linux占据,而Linux 80%以上的份额又被CentOS占据。本教程以CentOS为例来讲述如何编译C程序。

服务器上的Linux是不安装图形界面的,只能在控制台模式下使用,以尽量节省服务器资源。而我们在学习过程中使用的Linux是带图形界面的,以满足初学者的需求,降低学习成本。

在Linux下我们仍然可以使用带界面的、傻瓜式的IDE,例如CodeLite、CLion(收费)、Code::Blocks、Netbeans、Eclipse CDT等。微软的Visual Studio也支持Linux了,在Windows下用惯了Visual Studio的用户也可以毫无障碍地迁移到Linux平台。

但是作为初学者,我建议大家在命令行模式下编译C语言程序,这样能够了解生成一个可执行程序的详细步骤,以及编译命令的各种设置选项,为以后的LinuxC/C++ 开发打好坚实的基础。

Gedit 编辑器

在Linux下,很多程序员都推崇使用Vim、Emacs等命令行模式的编辑器,它们功能强大,逼格够高,不管有没有桌面环境都能使用,是LinuxC/C++程序员必备的神器。但是Vim和Emacs并不容易上手,使用者需要记忆很多命令和快捷键,熟练才能生巧,所以需要一段时间的学习和适应,这会增加初学者的学习成本,所以这里不推荐大家使用。

CentOS下有一款自带的图形界面编辑器,叫做Gedit。Gedit是一款简单实用的文本编辑器,界面优雅,支持语法高亮,比Vim容易上手,它和Windows下的编辑器没有什么两样。本教程将Gedit作为C语言代码的编辑器。

如果你使用的是其它的Linux发行版,可能没有默认安装Gedit,这个时候就得自己安装,具体步骤为:

$ sudo apt-add-repository ppa:ubuntu-on-rails/ppa   #添加ubuntu的软件源

$ sudo apt-get update   #更新软件列表

$ sudo apt-get install gedit-gmate   #安装

首先,在我们自己的用户目录下新建一个名为demo的文件夹。这个文件夹专门用来存放与C语言相关的文件,例如源文件、目标文件、可执行文件等,它专供我们学习使用。

用户目录有时候也叫home文件夹或者主文件夹,它的路径是/home/username,其中 username 就是我们登录Linux时使用的用户名。Linux 会在 home 目录下为每一个登录的用户创建一个文件夹,专门用来存放该用户使用到的配置文件、文本文档、图片、可执行程序等,以和其他用户区分开来。

接下来需要创建一个空白的 main.c 源文件。main.c 其实就是一个纯文本文件,并没有任何特殊格式,但是Linux不像 Windows,可以在右键菜单中新建文本文档,Linux 必须使用命令来创建,如下所示:

$ cd demo  #进入 demo 目录,这是源文件所在的目录

$ touch main.c  #使用 touch 命令创建一个名为 main.c 的空文件

$ gedit main.c  #使用 gedit 命令编辑 main.c

这样就完成了源文件的创建,并能够使用Gedit编辑源文件了。

在 Gedit 中输入下面的C语言代码:

#include <stdio.h>

int main()

{

    puts("C语言中文网");

    return 0;

}

输入完成后的效果如下图所示:

http://c.biancheng.net/cpp/uploads/allimg/171008/1-1G00Q10053154.jpg

Ctrl+S保存文件,就完成了源代码的编辑工作。此时需要关闭Gedit的窗口,$ gedit main.c命令才算执行结束,才能在控制台继续输入其它命令。

下图演示了在控制台上的实际效果:

http://c.biancheng.net/cpp/uploads/allimg/171009/1-1G00910510UJ.jpg

注意,在CentOS下,使用touch命令创建完main.c后,进入demo目录,在右键菜单中也可以使用Gedit 打开main.c,如下图所示:

http://c.biancheng.net/cpp/uploads/allimg/171008/1-1G00Q104301H.jpg

GCC 编译器

Linux下使用最广泛的 C/C++ 编译器是 GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将 GCC 作为Linux下首选的编译工具。本教程也毫不犹豫地使用 GCC 来编译C语言程序。GCC 仅仅是一个编译器,没有界面,必须在命令行模式下使用。通过gcc命令就可以将源文件编译成可执行文件。

1) 生成可执行程序

最简单的生成可执行文件的写法为:

$ cd demo  #进入源文件所在的目录

$ gcc main.c  #在 gcc 命令后面紧跟源文件名

打开 demo 目录,会看到多了一个名为 a.out 的文件,这就是最终生成的可执行文件,如下图所示:

http://c.biancheng.net/cpp/uploads/allimg/171008/1-1G00Q64J2C5.jpg

这样就一次性完成了编译和链接的全部过程,非常方便。

注意:不像 Windows,Linux 不以文件后缀来区分可执行文件,Linux 下的可执行文件后缀理论上可以是任意的,这里的.out只是用来表明它是 GCC 的输出文件。不管源文件的名字是什么,GCC 生成的可执行文件的默认名字始终是a.out。

如果不想使用默认的文件名,那么可以通过-o选项来自定义文件名,例如:

$ gcc main.c -o main.out

这样生成的可执行程序的名字就是main.out。

因为Linux下可执行文件的后缀仅仅是一种形式上的,所以可执行文件也可以不带后缀,例如:

$ gcc main.c -o main

这样生成的可执行程序的名字就是main。

通过-o选项也可以将可执行文件输出到其他目录,并不一定非得在当前目录下,例如:

$ gcc main.c -o ./out/main.out

或者

$ gcc main.c -o out/main.out

表示将可执行文件输出到当前目录下的out目录,并命名为main.out。./表示当前目录,如果不写,默认也是当前目录。

注意:out 目录必须存在,如果不存在,gcc 命令不会自动创建,而是抛出一个错误。

2) 运行可执行程序

上面我们生成了可执行程序,那么该如何运行它呢?很简单,在控制台中输入程序的名字就可以,如下所示:

$ ./a.out

./表示当前目录,整条命令的意思是运行当前目录下的 a.out 程序。如果不写./,Linux 会到系统路径下查找 a.out,而系统路径下显然不存在这个程序,所以会运行失败。

所谓系统路径,就是环境变量指定的路径,我们可以通过修改环境变量添加自己的路径,或者删除某个路径。很多时候,一条Linux命令对应一个可执行程序,如果执行命令时没有指明路径,那么就会到系统路径下查找对应的程序。

输入完上面的命令,按下回车键,程序就开始执行了,它会将输出结果直接显示在控制台上,如下所示:

$ cd demo

$ gcc main.c

$ ./a.out

C语言中文网

$

下图演示了在控制台上的实际效果:

http://c.biancheng.net/cpp/uploads/allimg/171009/1-1G00910095aA.jpg

如果程序在其它目录下,运行程序时还要带上目录的名字,例如:

$ ./out/main.out

或者

$ out/main.out

这个时候加不加./都一样,Linux 能够识别出out是一个目录,而不是一个命令,它默认会在当前路径下查找该目录,而不是去系统路径下查找,所以不加./也不会出错。

注意,如果程序没有执行权限,可以使用sudo命令来增加权限,例如:

$ sudo chmod 777 a.out

完整的演示

为了让读者有一个更加全面的认识,我们不妨将上面两部分的内容连接起来,完整的演示一下从编辑源文件到运行可执行程序的全过程:

$ cd demo  #进入源文件所在目录

$ touch main.c  #新建空白的源文件

$ gedit main.c  #编辑源文件

$ gcc main.c  #生成可执行程序

$ ./a.out  #运行可执行程序

C语言中文网

$   #继续等待输入其它命令

下图是在控制台上的实际效果:

http://c.biancheng.net/cpp/uploads/allimg/171009/1-1G009111F9448.jpg

分步骤编译

上面讲解的是通过gcc命令一次性完成编译和链接的整个过程,这样最方便,大家在学习C语言的过程中一般都这么做。实际上,gcc命令也可以将编译和链接分开,每次只完成一项任务。

1) 编译(Compile

将源文件编译成目标文件需要使用-c选项,例如:

gcc -c main.c

就将 main.c 编译为 main.o。打开 demo 目录,就会看到 main.o:

http://c.biancheng.net/cpp/uploads/allimg/171009/1-1G009130633I6.jpg

对于微软编译器(内嵌在 Visual C++ 或者 Visual Studio 中),目标文件的后缀为.obj;对于 GCC 编译器,目标文件的后缀为.o。

一个源文件会生成一个目标文件,多个源文件会生成多个目标文件,源文件数目和目标文件数目是一样的。通常情况下,默认的目标文件名字和源文件名字是一样的。

如果希望自定义目标文件的名字,那么可以使用-o选项,例如:

gcc -c main.c -o a.o

这样生成的目标文件的名字就是 a.o。

2) 链接(Link

在gcc命令后面紧跟目标文件的名字,就可以将目标文件链接成为可执行文件,例如:

gcc main.o

就将 main.o 链接为 a.out。打开 demo 目录,就会看到 a.out。

在gcc命令后面紧跟源文件名字或者目标文件名字都是可以的,gcc命令能够自动识别到底是源文件还是目标文件:如果是源文件,那么要经过编译和链接两个步骤才能生成可执行文件;如果是目标文件,只需要链接就可以了。

使用-o选项仍然能够自定义可执行文件的名字,例如:

gcc main.o -o main.out

这样生成的可执行文件的名字就是 main.out。

下面是一个完整的演示:

$ cd demo

$ gcc -c main.c

$ gcc main.o

$ ./a.out

C语言中文网

在控制台上的真实效果为:

http://c.biancheng.net/cpp/uploads/allimg/171009/1-1G009131435196.jpg


http://chatgpt.dhexx.cn/article/Zh52rEfP.shtml

相关文章

1-C语言开发环境的搭建

C语言开发环境的搭建 如果您想要进行C语言的开发学习&#xff0c;首要的是先在你的电脑上搭建一个C语言的开发环境。C语言的开发环境主要包括两个部分&#xff1a; 文本编辑器C编译器 文本编辑器 文本编辑器我们有很多选择&#xff0c;最常见的有Windows Notepad&#xff0…

C语言常用开发环境IDE

C语言常用开发环境IDE WindowsMACLinux跨平台Visual Studio CodeCodeBlocksQt 在windows,Mac,Linux等平台分别展开&#xff0c;C语言常用的开发环境IDE&#xff0c;在Windows中有Visual Studio&#xff1b;在Mac中有xcode&#xff1b;在Linux上&#xff0c;有vi,vim等等&#x…

c语言程序运行环境

目录 程序运行环境 翻译环境和执行环境 从源代码到可执行程序的几个阶段 翻译环境的执行中的编译和链接 预编译 编译 汇编 链接 运行环境 程序运行环境 在学习c语言中我们是否有这样的困惑&#xff0c;我们平常写代码&#xff0c;但是我们一开始就会很好奇&#xff0c;…

C语言开发环境搭建过程

标题C语言开发环境搭建过程 前言&#xff1a;C语言是目前嵌入式软件开发的主要语言&#xff0c;学习C语言可以直接面向产品做定制化开发&#xff0c;长远来看&#xff0c;优秀的嵌入式开发人员需要同时具备C开发和python测试的能力&#xff0c;C是一门经久不衰&#xff0c;值得…

VS2019搭建C语言开发环境(图文教程)

来源&#xff1a;微信公众号「编程学习基地」 文章目录 VS2019搭建C语言开发环境环境测试代码 VS2019搭建C语言开发环境 双击VS2019&#xff0c;选择创建新项目 选择项目类型为空项目 搜索框输入空项目进行搜索 或者选择C Windows 控制台找到空项目 输入项目名称&#xff0…

第1章 Window下VSCode的C语言开发环境搭建 (一)

文章目录 文档视频讲解链接地址第01章 开发环境搭建1.1 C语言开发环境搭建1. 常用的C语言开发环境介绍VC 6.0VS 2019ClionDevCvim编辑VSCode 2. Window下VSCode安装和配置C/C环境Visual Studio Code(VSCode)的介绍下载VSCode安装VSCode安装中文插件安装Mingw64 的gcc编译器安装…

c++开发环境安装

目录 1、下载软件 2 安装软件 3、创建项目 4、创建文件 5、编写代码 1、下载软件 1、Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 2、进入Visual Studio 官网后&#xff0c;选择 下载Windows版&#xff0c;并选择Community 2022 社区版本进行下载 3、…

c语言环境搭建(vs)2022版

今天开个新专栏来写c语言的学习笔记正好学校下学期开始教c&#xff0c;现在先讲一下语言的环境搭建 先下载Visual Studio软件官网如下&#xff1a; Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 注意选择community版的其他的收费 下载后是个1.2M的…

win10搭建c语言开发环境

win10搭建c语言开发环境 在window10上面用MingW搭建编写C语言的环境1、下载Mingw&#xff08;下载页面自行搜索&#xff09;&#xff0c;开始安装&#xff0c;安装路径自行选择2、点击‘continue’,出现如下图&#xff0c;3、稍微等待一会&#xff0c;出现如下图界面&#xff1…

VS Code C语言开发环境配置附图版保姆教程

简介 很多博客上都有vscode配置的资料&#xff0c;但是总是不够全面&#xff0c;一些细节没有详细说明&#xff0c;让我这个小白很是头疼&#xff0c;摸索大半天才成功&#xff0c;这篇文章通过整合集装多篇资料加上我自己的经验&#xff0c;给大家一份博客上最最最最详细的VS …

C语言的程序环境

文章目录 一.前言二.编译环境2.1预处理阶段2.2编译阶段2.3汇编阶段2.4链接阶段三.运行环境 一.前言 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境 1.翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令. 2.执行环境&#xff0c;它用于实际执行代码. …

如何搭建C语言环境

以下文章来源于&#xff1a;公_众_号开源电子网 读取更多技术文章&#xff0c;请扫码关注 如何搭建C语言环境 前言 C语言作为嵌入式开发的必备掌握技能&#xff0c;嵌入式能力的提升速度很大程度在于C语言的掌握能力。正所谓&#xff1a;工欲善其事&#xff0c;必先利其器。…

C语言环境安装

C语言环境安装 1.下载mingw-get-setup.exe安装程序。1.1 官网下载&#xff1a;1.2 百度云地址&#xff1a;1.3 从git下载安装包 2.点击安装开始3.配置环境变量4.测试环境 1.下载mingw-get-setup.exe安装程序。 1.1 官网下载&#xff1a; http://www.mingw.org/ 1.2 百度云地…

c语言编程环境配置

hello&#xff0c;小伙伴们&#xff0c;大家好&#xff0c;我是小浩&#xff0c;从今天开始&#xff0c;我会跟大家一起学习编程&#xff0c;大家有什么疑问或者意见可以留言或私信我。 下面我们开始今天的正式学习之旅&#xff1a; 相信大家都知道&#xff0c;编程语言有机器…

C语言入门——C程序开发环境搭建

C语言的开发工具 目前主流的开发工具就是Visual Studio 从2018年3月开始&#xff0c;全国二级C语言平台更改为VC2010 Express版&#xff0c;因此我们选择VC2010 Express VC2010 Express介绍 vc2010全称为microsoft visual c 2010 Express是微软的一款产品vc2010是一款IDE&am…

C语言入门之C语言开发环境搭建

C语言入门之C语言开发环境搭建 关注公众号 风色年代&#xff08;itfantasycc&#xff09; 领完整不限速版C语言开发环境资源包 集成环境下载地址&#xff1a;http://pan.baidu.com/s/1skMaZ6H 备用下载链接: https://pan.baidu.com/s/1yZsNO4khxDZ9qmuZFM_SEA 提取码: hatj …

怎么搭建一个C语言的开发环境?

什么是C语言 C语言是一种通用的、面向过程的编程语言&#xff0c;它具有高效、灵活、可移植等优点。在最近20多年里&#xff0c;它被运用在各种系统软件与应用软件的开发中&#xff0c;是使用最广泛的编程语言之一。本章将针对C语言的发展历史、开发环境搭建、和C语言的运行机…

C 语言学习笔记(一):C 语言的开发环境

文章目录 一、常用开发环境二、安装 Visual Studio 2019三、Visual Studio 2019 开发环境介绍四、使用 Visual Studio 2019 开发 C 程序 为什么会突然写关于 C 语言系列的博客? 原因是笔者的一个弟弟在大一下学期即将开始学习 C 语言&#xff0c;这里回忆起了当时笔者大学时学…

C语言的开发环境

所有的高级计算机语言都需要用编译器把程序编译成计算机能够看得懂的二进制。 所以我们需要一个环境来开发程序&#xff0c;从而通过程序实现一系列“骚操作。” 1. UNIX系统 C语言的诞生源于UNIX系统&#xff0c;也因UNIX系统而闻名。 在UNIX系统编辑C程序&#xff0c;通常…

C语言环境简介

C语言环境简介 C语言的开发环境有哪些&#xff1f; (1) Windows 下: Visual Studio(简称VS) 、Eclipse、QT、Code&#xff1a;&#xff1a;Blocks (2) Linux 下: VI 、VIM 、Eclipse、QT (3) MAC 下: Xcode 、QT QT、Eclipse是跨平台的 2、Windows系统下的Visual Studio 开…