我是靠谱客的博主 怕黑野狼,最近开发中收集的这篇文章主要介绍Ubuntu系统下使用gcc指令和makefile编译C程序(四)总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文目的是为了通过在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程序(四)总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部