概述
本文目的是为了通过在Ubuntu系统上编译多个C程序来熟悉在Linux系统上编写C程序的操作。相关程序名称分别为main1.c、sub1.c、sub1.h;以下采用两种方式进行编译,第一种是直接使用gcc在命令行编译,第二种是使用Makefile文件编译。
1|目录
(一)直接使用gcc指令编译C语言程序。
1、编写C语言程序。
2、gcc编译过程(以编译helloworld.c为例)
3、gcc直接编译。
(二)与Windows平台编程相比。
(三)使用makefile编译C语言程序。
1、makefile文件编写规则。
2、编写makefile文件并编译。
(四)总结。
(一)直接使用gcc指令编译C语言程序
`1、编写 helloworld.c
#include<stdio.h>
int main()
{
printf("Hello Worldn");
return 0;
}
```下面展示一些 `内联代码片`。
2、编写sub1.c
#include "sub1.h"
float x2x(int a,int b)
{
return a*b;
}
3、编写sub1.h
#ifndef __SUB1_H
#define __SUB1_H
#include<stdio.h>
float x2x(int a,int b); //计算b除以a的结果
#endif
2、gcc的编译过程(以编译helloworld.c为例)
编译阶段 | Value |
预处理 | gcc -E helloworld.c -o helloworld.i |
编译 | gcc -S helloworld.i -o helloworld.s |
汇编 | gcc -c helloworld.s -o helloworld.o |
链接 | gcc helloworld.o -o hello |
3、gcc直接编译
(1)步骤一:
a、命令:gcc -c sub1.c
b、作用:将.c文件转化为目标文件sub1.o.
(2)步骤二:
a、命令:gcc main1.c sub1.o -o main1
b、作用:编译main.c文件为目标文件main.o,然后链接sub1.o目标文件生成main1.可执行文件。
(3)步骤三:
执行./main命令,即可编译执行main1的程序
(二)与Windows平台编程相比
工具:Visual studio 2022
三)使用makefile编译C语言程序
1、makefile文件编写规则
先建立makefile文件
touch makefile
使用vim指令编写makefile文件内容
vim makefile
main.exe:main1.o sub1.o
gcc main1.o sub1.o -o main,exe
main1.o:main1.c
gcc -c main1.c -o main1.o
sub1.o:sub1.c
gcc -c sub1.c -o sub1.o
再利用make指令运行makefile文件
(四)总结
通过这次实验,意识到了在其他操作系统下所编写的C语言代码的相同之处和不同之处。Linux系统中的各种指令使得代码正常执行。对于之前从未接触过的makefile方法,也让我明白了在Linux系统下简化执行代码的方法。
最后
以上就是怕黑野狼为你收集整理的Ubuntu系统下使用gcc指令和makefile编译C程序(四)总结的全部内容,希望文章能够帮你解决Ubuntu系统下使用gcc指令和makefile编译C程序(四)总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复