Ubuntu系统下运用nano,gcc,makefile命令回顾linux简单的一些操作

1. 在windows环境下通过虚拟机软件(比如Vmware、VirtualBox)安装Ubuntu 16.04/18.04 Desktop,并设置网络参数保证系统能上网;熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件。

2. Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。请修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度。

3. 在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序,并编译有、运行之;

4. 请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。

1) 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行; 

2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。

5. 在任务4基础上,在ubuntu系统下用Makefile方式编程主程序。

一·网络配置

1.以ssh方式配置网卡

xshell连接

2.更换apt源

输入 sudo nano /etc/apt/sources.list

将内容更换为

输入sudo apt-get update

等待加载完成即可

二.Ubuntu下用C语言输出hello world

在终端输入sudo su暂时将权限由用户换到root上,输入apt install gcc就能下载gcc

输入nano hello.c创建hello.c文件

enter 进入编辑


ctrl x 退出,并同意保存,再enter退出

在终端输入gcc -o hello hello.c

输入./hello运行程序

 

2在Ubuntu中编写一个主程序文件main1.c和一个子程序文件sub1.h。

分别输入nano main1.c和nano sub1.h创建文件

 

enter 进入编辑

主程序main1.c

 子程序sub1.h

 最后输入 gcc main1.c -o main1编译

输入./main1运行

 

 

三:在ubuntu系统下用Makefile方式编译主程序main1.c
在终端输入nano makefile创建makefile文件

输入make

输入gcc main1.c sub1.o -o main1

输入./main1

 

四、Makefile 简介
Makefile 是一种常用于编译的脚本语言。它可以更好更方便的管理你的项目的代码编译,节约编译时间(没改动的文件不编译)。
注意 Makefile 文件命令必须是 Makefile 或者 makefile,并使用 make 命令编译。

1个规则
1. 语法规则
目标...: 依赖...
    命令1
    命令2
    ...
2. 目标
目标即要生成的文件。如果目标文件的更新时间晚于依赖文件的更新时间,则说明依赖文件没有改动,目标文件不需要重新编译。否则重新编译并更新目标。

3. 依赖
即目标文件由哪些文件生成。如果依赖条件中存在不存在的依赖条件,则会寻找其它规则是否可以产生依赖条件。

例如:规则一是生成目标 hello.out 需要使用到依赖条件 hello.o,但是 hello.o 不存在。则 Makefile 会寻找到一个生成 hello.o 的规则二并执行。

4. 命令
即通过执行该命令,由依赖文件生成目标文件。

注意每条命令前必须有且仅有一个 tab 保持缩进,这是语法要求。

五:总结

这次作业让我们又一次的回顾Linux的一些内容,用到了nano,相比较vim更为简单,更适用于新手,还有gcc,make,gedit等命令的学习。相比较于gcc对c程序的处理方式而言,makefile 的方式更为简单有效。虽然这些都是很基础的练习,但如果不实际动手去做的话,是不会理解其中的奥秘,因为当你遇到了一些视频教程没提到的问题时,只有沉下心来去思考哪里处错,并找到解决办法,然后去解决。这一步一步都不能急,心态一定要好。

 

.

Ubuntu系统中,GCC(GNU Compiler Collection)是一个广泛使用的开源编译器套件,用于将源代码(如`.c`文件,通常包含C语言程序)编译成可执行文件。如果你想同时编译多个`.c`源文件并链接相关的`.h`头文件,可以按照以下步骤操作: 1. 打开终端(Terminal)。 2. 首先,进入包含所有源文件和头文件的目录,可以使用`cd`命令切换到该目录。例如: ``` cd /path/to/your/source/files ``` 3. 接着,创建一个Makefile,这是一个简单的构建脚本,可以帮助组织编译过程。在一个文本编辑器中(如`nano`、`vim`或`gedit`),创建名为`Makefile`的新文件,并添加以下内容,假设我们有两个源文件`main.c`和`util.c`,以及它们引用的头文件`header.h`: ```makefile CC = gcc # 使用gcc作为默认编译器 SRCS = main.c util.c # 源文件列表 HDRS = header.h # 头文件 all: $(SRCS) # 编译所有源文件 main: $(SRCS) $(HDRS) # 编译main.c $(CC) -o main $(SRCS) -I. -lhyourheader # 这里假设libhyourheader对应于header.h clean: # 清理生成的文件 rm -f *.o main .PHONY: all clean # 声明all和clean任务不是真正的文件 ``` 确保将`-lhyourheader`替换为实际的库名(如果有依赖)。 4. 要编译项目,只需在终端运行`make`命令即可。这会执行`all`规则,编译所有源文件并链接它们。 5. 如果你想单独编译某个文件,比如`main.c`,可以在命令行输入`make main`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值