kernel 中glob_match 是干什么的
时间: 2024-06-07 19:08:50 浏览: 246
在Linux内核中,`glob_match()`函数用于比较两个字符串是否匹配,其中一个字符串可以包含通配符(例如星号、问号等)。通配符是一种简化匹配模式的方法,允许我们在文件名、路径名等场景中进行模式匹配。
具体来说,`glob_match()`函数使用了类似于正则表达式的语法,只支持星号和问号两种通配符。星号可以匹配任意长度的字符序列,问号可以匹配单个字符。函数会比较两个字符串,如果它们匹配,返回1,否则返回0。
`glob_match()`函数常用于Linux内核中文件系统相关的代码中,如在解析文件路径名时,判断某个路径名是否匹配指定的通配符模式。
相关问题
linux GLOB_NOCHECK
GLOB_NOCHECK是Linux中glob函数的一个标志位,它表示在进行通配符匹配时,如果没有匹配到任何文件名,那么不会把传入的参数作为文件名返回,而是直接将传入的参数作为匹配结果返回。也就是说,如果设置了GLOB_NOCHECK标志位,当传入的通配符表达式没有匹配到任何文件时,会将表达式本身作为匹配结果返回。
举个例子,假设我们有一个目录"/tmp",里面有两个文件"test1.txt"和"test2.txt"。如果我们使用glob函数查找"test3.txt",那么如果没有设置GLOB_NOCHECK标志位,glob函数会返回一个错误码GLOB_NOMATCH,表示没有找到任何匹配的文件。但是如果设置了GLOB_NOCHECK标志位,那么glob函数会将"test3.txt"这个字符串作为匹配结果返回。
GLOB_RECUSE
GLOB_RECURSE是CMake中的一个命令,用于在指定路径下递归地搜索符合指定模式的文件,并将搜索结果保存到一个变量中。\[1\] 该命令的语法为:file(GLOB_RECURSE variable \[RELATIVE path\] \[FOLLOW_SYMLINKS\] \[globbing expressions\]...)。通过使用GLOB_RECURSE命令,可以方便地获取指定路径下的所有符合条件的文件,并将其用于后续的构建过程。
#### 引用[.reference_title]
- *1* [CMake file命令参数GLOB和GLOB_RECURSE](https://blog.csdn.net/beibeix2015/article/details/113112371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [cmake -- 笔记](https://blog.csdn.net/wishfly/article/details/125799524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文