本文是在Ubuntu系统上编译多个C程序来对比在Linux系统和Windows系统编写C程序的区别。涉及到的程序为main1.c、sub1.h。以下采用三种方式进行编译,第一种是直接使用gcc在命令行编译,第二种是在Windows系统进行编译, 第三种是使用Makefile文件编译。

目录

一、直接使用gcc在命令行编译

1.gcc编译过程(以编译hello.c为例)

2.编写c程序

二、在Windows系统进行编译

三、使用Makefile文件编译

四、总结



一、直接使用gcc在命令行编译

1.gcc编译过程(以编译hello.c为例)

编译阶段编译命令作用
预处理gcc -E hello.c -o hello.i编译器将源代码中包含头文件编译进来
编译gcc -S hello.i -o hello.s检查代码规范性并翻译成汇编语言
汇编gcc -c hello.s -o hello.o将.s文件转换为目标文件
链接gcc hello.o -o hello将目标文件转换为可执行文件

2.编写c程序

(1)ubuntu下创建c语言hello world程序

打开终端输入sudo apt-get install vim 下载vim

 输入sudo apt-get install g++下载gcc

输入vim hello.c创建hello.c文件,按下i进入编辑

按下esc键,再按:wq保存代码。

输入gcc hello.c -o hello进行编译

 输入./hello运行程序

 2.编写一个源文件main1.c和一个头文件sub1.h,实现两个数相乘,其中a=5,b=10。

main1.c源程序

sub1.h头文件

 编译运行得到结果

二、在Windows系统进行编译

在DevC++环境下进行编译

main1.c源文件

sub1.h头文件

 编译运行

三、使用Makefile文件编译

输入gedit makefile创建makefile文件

编写Makefile文件

编译运行

 

四、总结

在Ubuntu系统上编写C语言,可以使用gcc直接编译和Makefile进行编译这两种生成方式。与在Windows系统不同,在Ubuntu上用gcc进行编译,感觉更加的原始,不能简单的向Windows的编译软件一样,通过按几个按键就能实现编译运行,也不能简单的通过鼠标去完成文件的创建,全部都是通过代码来实现,这可以让我们更好地去理解整个编译过程中的各个步骤的作用,明白程序是怎样运行出来的。

参考文章:

ubuntu系统下的c语言_等风来1249的博客-CSDN博客

Ubuntu系统使用gcc和Makefile编译C程序_不#曾&轻听的博客-CSDN博客

Logo

更多推荐