实验四 Linux系统C语言开发环境学习

时间:2020-03-27
本文章向大家介绍实验四 Linux系统C语言开发环境学习 ,主要包括实验四 Linux系统C语言开发环境学习 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

实验四 Linux系统C语言开发环境学习

项目 内容
这个作业属于哪个课程 课程链接
这个作业的要求在哪里 作业要求
学号-姓名 17041401-黄兰兰
作业学习目标 1、Linux系统下C语言开发环境搭建 2、学习Linux系统环境C语言开发过程

实验内容

1.安装c语言开发环境

sudo apt install build-essential

1).查看gcc的版本信息

gcc -v

2).查看make版本信息

make -v

2.简单C语言练习

1)首先我们通过man命令查看帮助文档

man gcc

2)命令行模式简单C语言编译链接等操作

我们可以通过vim编辑器编写一个最简单的C语言程序,如写一个输出自己学号的程序。先创建一个文件夹,然后进入该新创建的文件夹。

由于一开始我系统的vim编辑器的配置文件被重新更新了,所以中间一系列操作文件名就不一致了,下面我重新配置vim后,建了另一个文件test2.c

cat test2.c
a.预编译

gcc -E test2.c -o test2.i #预编译
test2.c #源程序文件
test2.i #预编译后生成的文件

vim编辑器编写test2.c

用cat查看文件内容

b.编译

gcc -S test2.i -o test2.s
test2.s #编译后生成的文件


c.汇编

gcc -c test2.s -o test2.o
test2.o #目标文件即二进制文件

通过objdump命令来反汇编该文件来分析文件内容

d.链接

gcc test2.o -o test2
test2 #可执行文件

用objdump命令来反汇编该文件分析文件内容

objdump -d test2
e.运行

3).多文件编译

在exp4文件夹下面再建一个文件夹mfc

在该文件夹下面创建5个文件,文件名分别如下:

每个文件的内容分别如下:

cat main.c #查看main.c文件内容

cat my1.h #查看my1.h文件内容

cat my1.c #查看my1.c文件内容

cat my2.h #查看my2.h文件内容

cat my2.c #查看my2.c文件内容

接下来进行编译,对于多文件编译,可以一次编译链接生成可执行文 件,也可以分别编译每个C文件,最后再进行链接得到可执行文件。

请说明两种方法的区别?

多个文件一起编译时:
gcc my1.c my2.c main.c -o main1 将my1.c、my2.c、main.c分别编译后链接成main1可执行文件。
分别编译各个源文件,之后对编译后输出的目标文件链接:
gcc -c my1.c 将my1.c.c编译成my1.o
gcc -c my2.c 将my2.c编译成my2.o
gcc -c main.c 将main.c编译成main.o
gcc my1.o my2.o main.o -o main2 将my1.o、my2.o、main.o链接成main2可执行文件

由于之前的文件夹已存在可执行文件,故先将可执行文件删除,再编写一个简单的Makefile,通过make工具进行编译。

make #根据Makefile文件编译源代码、连接、生成目标文件、可执行文件。

查看Makefie文件内容

Makefile #makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令

make clean make clean #清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件

原文地址:https://www.cnblogs.com/huanglanlan/p/12582959.html