Linux下关于makefile命令操作练习题(5)

makefile使用方法

Make主要解决两个问题:

一、大量代码的关系维护
➢大项目中源代码比较多,手工维护、编译时间长而且编译命令复杂,难以记忆及维护把代码维护命令及编译命令写在makefile文件中,然后再用make. I具解析此文件自动执行相应命令,可实现代码的合理编译
二、减少重复编译时间
➢在改动其中一个文件的时候,能判断哪些文件被修改过,可以只对该文件进行重新编译, 然后重新链接所有的目标文件,节省编译时间

make命令格式

make [-f file][ options ][ targets ]
1.[-f file ]: make默认在 工作目录中寻找名为GUNmakefilemakefile 、Makefile的文件作为makefile输入文件-f可以指定以上名字以外的文件作为makefile输入文件;
2. [ options ]执行参数:辅助makefile执行, 我们最后介绍;
3. [ targets ]:若使用make命令时没有指定目标, 则make. I具默认会实现makefile文件内的第一个目标,然后退出指定了make.工具要实现的目标,目标可以是一个或多个(多个目标间用空格隔开)

1.makefile语法规则

2.编写课件中-例2稍复杂的makefile实例,执行并截图

在这里插入图片描述
在这里插入图片描述

3.编写课件中-例2_3使用预定义变量使makefile更加通用,执行并截图

在这里插入图片描述

操作结果

1.makefile语法规则

目标:依赖文件列表

命令列表

1.目标:通常是要产生的文件名称,目标可以是可执行文件或其它obj文件,也可是一 个动作的名称;

2.依赖文件:是用来输入从而产生目标的文件-个目标通常有几个依赖文件(可以没有) ;

3.命令: make执行的动作,- -个规则可以含几个命令(可以没有)有多个命令时, 每个命令占- -行。
2在这里插入图片描述
3在这里插入图片描述

### Linux 练习题及相关解决方案 #### 关于Linux编译工具链的选择 在不同操作系统下,开发者可以根据需求选择适合的编译器。例如,在 macOS 上可以利用 Xcode Command Line Tools 提供的 Clang 编译器;而对于 Linux 用户来说,GCC 是广泛支持并兼容大多数发行版的最佳选项[^1]。至于 Windows 平台,则可通过 WSL 或 MinGW 来实现 GCC 的部署。 #### 网络文件系统的配置与实践 NFS(Network File System)是一种用于 Linux 和 Unix 系统之间文件共享的应用层协议。通过 NFS,用户能够无需登录即可便捷地访问远程文件系统,从而将其作为本地文件系统的一部分使用[^2]。以下是简单的 NFS 配置流程: ```bash # 安装 NFS 服务端软件包 sudo apt-get install nfs-kernel-server # 创建共享目录 sudo mkdir /mnt/nfs_share sudo chmod -R 755 /mnt/nfs_share sudo chown nobody:nogroup /mnt/nfs_share # 修改 exports 文件以定义可被客户端访问的路径 echo "/mnt/nfs_share *(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports # 更新 NFS 导出表并重启服务 sudo exportfs -ra sudo systemctl restart nfs-kernel-server ``` #### Shell 脚本编程基础 Shell 脚本是 Linux 学习的重要组成部分之一。下面是一个基于 `/etc/passwd` 文件处理的小例子,演示如何遍历该文件并向每位用户打招呼以及显示其 UID: ```bash #!/bin/bash while IFS=: read -r user _ uid _; do echo "Hello $user! Your User ID is: $uid" done < /etc/passwd ``` 此脚本读取每一行数据并将字段解析出来分别赋给变量 `user`, `_`(忽略密码部分), `uid` 等。随后打印问候语句连同用户的唯一标识号一起输出到终端屏幕上[^4]。 #### Makefile 中逻辑控制符的理解 Make 工具允许我们编写自动化构建规则,并且可以通过特定语法指定多个命令间的依赖关系。比如 `&&` 符号表示前一条指令成功完成后才会继续执行后续操作。因此,“`make && make install`”意味着只有当第一个 `make` 正常结束时才去调用第二个 `make install` 命令[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值