Linux下使用gcc编程初体验

简介: 近期刚刚放弃了Windows,投入了Ubuntu 的怀抱。今天就拿一个小小的案例来做一下C语言的编译和运行流程。额,顺便说一句。本文适合那些Linux新手,不适合老鸟哈。看完本文可以学到什么?程序员编码神器Vim的简单使用自带编译器gcc的使用执行编译完成的程序vim的简单使用关于vim的使用,这里面的学问可谓是太深了,所以我就简单的写一些在这里用到的一些命令了。

近期刚刚放弃了Windows,投入了Ubuntu 的怀抱。今天就拿一个小小的案例来做一下C语言的编译和运行流程。额,顺便说一句。本文适合那些Linux新手,不适合老鸟哈。


看完本文可以学到什么?


  • 程序员编码神器Vim的简单使用
  • 自带编译器gcc的使用
  • 执行编译完成的程序

vim的简单使用


关于vim的使用,这里面的学问可谓是太深了,所以我就简单的写一些在这里用到的一些命令了。

首先:打开终端terminal。使用cd命令定位到我们将要操作的一个文件夹,我本人的是/home/mark/code/c/目录。然后就可以输入vim Hello.c.这样终端就会跳转到一个vim的编辑界面。
这时我们看到的是命令模式,我们要想对Hello.c文件进行编辑的话,就必须使用到插入模式。按下a 即可在光标位置进行编辑了。


在这里我就输入下面一段文字:

#include<stdio.h>

int main(){
    printf("Hello World!\n");
    printf("Hello C\n");
    printf("This is compilered by GCC in Ubuntu!");
}

gcc的简单的使用


下面我就来谈一谈本文用到的gcc的几个参数:

  • gcc -E // 预编译命令,可以将源文件进行预编译,生成.i结尾的预处理文件
  • gcc -c // 将预处理文件编译成目标代码(可执行) 以.o结尾
  • gcc -o // 这个命令一般会添加在上面命令的后边,意思是前两个命令完成后的结果输出到哪个文件中。

下面我们就来看一看本文的gcc处理:

mark@mark-pc:~/Code/C$ vim Hello.c
mark@mark-pc:~/Code/C$ gcc -E Hello.c -o Hello.i
mark@mark-pc:~/Code/C$ gcc -c Hello.i -o Hello.o
mark@mark-pc:~/Code/C$ gcc Hello.c -o Hello
mark@mark-pc:~/Code/C$ ./Hello
Hello World!
Hello C
This is compilered by GCC in Ubuntu!

结果展示


观察上述命令执行后的结果有两种方式。
一是到相应的目录下查看文件的具体信息,另外一个是使用命令行查看相关目录下的具体的信息。


第一种方式:
这里写图片描述
我们可以看到相关的四个文件:

  • Hello 可执行文件
  • Hello.c 源文件
  • Hello.i 预编译(预处理)文件
  • Hello.o 目标代码

第二种方式时使用命令行进行:

mark@mark-pc:/$ cd /home/mark/Code/C
mark@mark-pc:~/Code/C$ ls
Hello  Hello.c  Hello.i  Hello.o

我们同样可以得到上面这四个文件。


小总结


我本人也是刚刚接触Ubuntu,所以对这个操作系统还不是很熟悉。所以难免有些地方讲的不恰当或者不正确。本文也是为了提示那些和我一样在Ubuntu下的新手练习如何编程而写的指导性的博文。如果您发现了文章中有错误的地方,还望不吝赐教,也好让我们共同进步!

目录
相关文章
|
8天前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
38 17
|
17天前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
50 26
|
5月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
2月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
121 13
|
3月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
4月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
5月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
5月前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
238 6
|
5月前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
226 3
|
5月前
|
Linux 编译器 C语言
Linux内核对GCC版本的检测
Linux内核对GCC版本的检测