GNUmake中文手册:隐含规则与Makefile解析
需积分: 4 96 浏览量
更新于2024-08-09
收藏 978KB PDF 举报
"这篇文章主要介绍了如何在layui框架中利用隐含规则实现点击文本框弹出选择框的功能,并展示了make工具的隐含规则使用方法。在Makefile中,隐含规则允许用户无需显式指定构建目标的命令,make会自动根据源文件类型应用合适的规则。例如,当有foo.o和bar.o源文件时,make会自动调用编译器生成foo可执行文件。文章摘自2004年9月11日发布的GNUmake中文手册,由徐海兵翻译整理,内容涵盖makefile的编写、规则、变量等各方面。"
在`layui`框架中,实现点击文本框弹出选择框通常涉及以下几个知识点:
1. **layui事件绑定**:layui允许通过JavaScript或jQuery绑定事件,如在文本框(`input[type="text"]`)上添加`click`事件监听器,触发选择框的弹出。例如:
```javascript
layui.use(['form'], function(){
var form = layui.form;
$('#yourTextBox').on('click', function(){
// 弹出选择框的代码
form.select('yourSelectId').show();
});
});
```
这里`form.select('yourSelectId')`是layui提供的选择框组件,`show()`方法用于显示选择框。
2. **layui选择框配置**:layui的选择框组件可以配置各种选项,包括数据源、回调函数等。数据源可以是预先定义好的数组,也可以动态获取。例如:
```javascript
var options = [
{value: '1', title: '选项1'},
{value: '2', title: '选项2'}
];
form.render('select', {
elem: '#yourSelectId',
data: options,
done: function(choose){
console.log(choose); // 用户选择后的回调,返回当前选择项的数据
}
});
```
3. **makefile中的隐含规则**:在Makefile中,隐含规则是一种预定义的构建策略,它不需要显式声明。例如,`%.o : %.c` 是一个常见的隐含规则,表示将`.c`文件编译成`.o`目标文件。当`foo`依赖于`foo.o`和`bar.o`时,make会自动查找对应的编译命令,如`cc -c foo.c -o foo.o`和`cc -c bar.c -o bar.o`。
4. **自动变量**:makefile中的自动变量,如`$@`代表目标文件,`$<`代表第一个依赖文件,可以简化命令书写。例如:
```make
%.o: %.c
cc -c $< -o $@
```
5. **makefile的变量**:可以通过`$(variable)`引用变量,如`$(CFLAGS)`和`$(LDFLAGS)`,分别用于存储编译时和链接时的标志。
6. **隐含规则和目录搜索**:makefile可以利用`VPATH`变量指示源文件的搜索路径,使得源文件不局限于与目标文件相同的目录下。`vpath`关键字可以更精确地控制搜索路径。
7. **静态模式规则**:在makefile中,静态模式规则允许以更通用的方式指定规则,如`%: %.d`可以匹配所有以`.d`为后缀的文件,并为它们生成对应的规则。
8. **伪目标**:如`.PHONY`,用于标识那些实际上并不存在但需要make处理的目标,防止因同名文件导致的误操作。
结合layui的前端交互和makefile的构建逻辑,可以实现一个完整的流程,即用户点击文本框时触发选择框,选择后后台处理数据并更新文本框内容,同时利用makefile自动化编译和构建项目。
2021-09-25 上传
2022-07-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
柯必Da
- 粉丝: 42
- 资源: 3762
最新资源
- zabaatLib:vvolfster的QML Qt UI和应用程序库
- proposal-array-equality:确定数组相等
- SQLite v3.28.0
- jQuery css3图标动画鼠标滑过图标旋转动画特效
- vecel-antenna
- MP3格式万能转换器任何音频均可自由切换格式
- 黑马瑞吉外卖源码及工程项目全套
- Foodfy-database:Persistindo dados daaplicaçãoFoodfy
- 展示::framed_picture:课程中展示的最佳学生作品展示
- Open Virtual Reality 'L'-开源
- 影响matlab速度的代码-table-testing:表达式矩阵文件格式的要求,示例和测试
- 行业文档-设计装置-饲料用缓释型复方甜菊糖微囊的制备方法.zip
- RedisSubscribeServer.zip
- Wireshark-win32-1.8.4
- C# winform设计 钉钉 微信 二维码 扫码登录登录客户端 源码文件 CS架构
- Martin_Barroso_P2:RISCV Multiciclo con UART para corrercódigo阶乘