首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Make 快速入门

Makefile 在使用 make 之前,你必须在当前目录下添加一个 Makefile 文件,它描述了文件之间依赖(输入输出)关系,并提供更新文件 Shell 命令。...函数 make函数用于处理 Makefile 文件中文本,例如:计算操作文件列表,“菜谱”中使用命令等。 4.1 函数调用 函数调用类似于变量引用,它可以出现在任何变量引用可以出现地方。...pattern 和 replacement 都可以包含通配符 %,匹配任意数量任意字符。...) make: $ make strip hello world ! 4.2.4 $(sort list) 按英文字母表顺序对列表 list 中单词进行排序,删除重复单词。...比如,C 编译通常输入 .c 文件,输出 .o 文件。 因此,当看到文件名结尾符合这种组合时,make 将隐式规则应用于 C 编译。

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

Makefile学习2

Makefile函数 GNU make 提供了大量函数用来处理文件名、变量、文本和命令。通过这些函数,用户可以节省很多精力,编写出更加灵活和健壮Makefile。...对于 GNU make内嵌函数,直接引用就可以了;对于用户自定义函数,要通过makecall函数来间接调用。 函数和参数列表之间要用空格隔开,多个参数之间使用逗号隔开。...:对字符串LIST中单词以首字母为准进行排序,并删除重复单词。...(dir)/*)) all: @echo "srcs = $(srcs)" Makefile 通配符 在Makefile中表示一个文件名时,可以使用通配符。...:所有更新过依赖文件 在Makefile中,通配符主要用在两个场合: 用在规则目标和依赖中:make在读取Makefile时会自动对其进行匹配处理 test: *.o gcc -o $@ $

29310

日常记录(6)Verilog

如果触发线程先于阻塞线程,则触发无效(触发是一个零宽度脉冲)。 Systemverilog 引入了triggered()函数,用于检测某个事件是否已被触发过,包括正在触发。线程可以等待这个结果。...,包括正在触发。...,则中间产生不定输入状态01或10,产生不定输出,不被使用。...set -e,这句语句告诉bash如果任何语句执行结果不是true则应该退出,而不是继续向下执行。rm -rf $@表示删除生成目标文件。...sed替换命令中,使用逗号作为分隔符,s,g作为开头和结尾,中间添加逗号,进行行内替换操作。$*匹配%.d中%表示部分,即为规则目标使用通配符时,通配符表示数据第一部分。

49230

精简版-Linux常用命令

mkdir(make directories)建立目录 rmdir 删除空目录 echo 显示一行文本(可使用通配符,正则表达式) ifconfig/ip addr(CentOS)显示或设置网络设备...mkdir(make directories)建立目录 mkdir + 文件名 #创建目录 mkdir -m (--mode) + a=权限+目录名 #设置目录权限(rwx) 例:mkdir -m a...-v :在压缩/解压缩过程中,将正在处理文件名显示出来 -f filename :filename为要处理文件 -C dir :指定压缩/解压缩目录dir 压缩:tar -jcv -f filename.tar.bz2...输入冒号可以输入文档相关指令 wq 表示保存并退出 q 表示退出 q!...files)是一个列出当前系统打开文件工具 lsof #列出所有正在使用文件 lsof 文件名 #找出谁在使用某个文件 lsof -c 程序 #查找某个程序打开所有文件 lsof -i #列出所有网络连接

68020

Linux D01 目录和文件常用命令

,新建文件 05 mkdir [目录名] make directory 创建目录 06 rm [文件名] remove 删除指定文件夹 07 clear clear 清屏 2.目录(文件夹)常用命令...rm -f 文件夹 (取消提示) rm -rf 文件夹 (递归删除) rm -rf 结合通配符 * ?...(有提示) rm -f 文件 (取消提示) rm -rf 文件 (递归删除) rm -rf 结合通配符 * ?...时必须加此参数 -f force (强制) 强制删除,忽略不存在文件, 无需提示 3.3修改文件命令 格式:mv 旧文件名文件名 示例: mv test3.txt test333.txt...相对路径进入 cd dir9 绝对路径 :在输入路径时, 最前面是以 / 开始, 表示 从 根目录 开始具体目录位置 优点: 定位准确, 不会因为 工作目录变化 而变化。

87630

Linux 操作系统!开篇!!!

相同,如果命令 ls A* 意味着只列出以 A 为开头所有文件,那么命令 rm A* 应该会移除所有以 A 为开头文件而不是只删除文件名是 A* 文件。...因为不能直接在 C 中编写 trap 指令,因此 C 提供了一个库,库中函数对应着系统调用。有些函数是使用汇编编写,但是能够从 C 中调用。每个函数首先把参数放在合适位置然后执行系统调用指令。...为了更容易指定多个文件名,shell 支持 魔法字符(magic character),也被称为通配符(wild cards)。...比如,* 可以匹配一个或者多个可能字符串 ls *.c 告诉 ls 列举出所有文件名以 .c 结束文件。如果同时存在多个文件,则会在后面进行并列。 另一个通配符是问号,负责匹配任意一个字符。...上图中还包括了 中断 和 调度器,中断是与设备交互主要方式。中断出现时调度器就会发挥作用。这里低级代码停止正在运行进程,将其状态保存在内核进程结构中,并启动驱动程序。

7.3K30

Golang 语言标准库 os 包怎么操作目录和文件?

例如 Open 或 Stat,如果返回 error,那么错误将在打印时包含失败文件名,并且错误类型为 *PathError,可以通过 *PathError 方法获取更多信息。...但是,本文只介绍 os 包关于目录和文件操作。 02 函数 os 包提供了很多函数,限于篇幅,我们不会一一介绍,而是主要介绍项目开发中比较常用关于目录和文件相关函数。...func Remove(name string) error 删除给定名称文件或空目录。 func RemoveAll(path string) error 删除给定路径所有目录,包含子目录。...关于文件操作,主要分为打开、关闭和读写,关于打开文件三种方式,已在 Part 02 函数部分介绍,关闭文件是调用函数 Close,为了防止忘记关闭文件,通常和 defer 搭配使用。...b := make([]byte, 5) n, err := f.Read(b) if err !

75240

Makefile 使用(在 Linux 中使用 make 命令来编译程序)

文件,那么执行“make clean”时它就不会执行那些删除命令。...这时我们需要把“clean”这个目标,设置为“假想目标”,这样可以确保执行“make clean”时那些删除命令肯定可以得到执行。...3.4.2 文件名函数 (1)$(dir names…) 抽取names...中每一个文件名路径部分,文件名路径部分包括从文件名首字符到最后一个斜 杠(含斜杠)之前一切字符。...(7)$(wildcard pattern) 参数pattern是一个文件名格式,包含有通配符(通配符和 shell 中用法一样)。...@表示规则目标文件名; ^表示所有依赖名字,名字之间用空格隔开; <表示第一个依赖文件名。‘%’是通配符,它和一个字符串中任意个数字符相匹配。

8.7K10

make wildcard_其在古文中用法

在Makefile规则中,通配符会被自动展开。但在变量定义和函数引用时,通配符将失效。...这种情况下如果需要通配符有效,就需要使用函数“wildcard”,它用法是:$(wildcard PATTERN…) 。...需要注意是:这种情况下规则中通配符展开和上一小节匹配通配符区别。 一般我们可以使用“(wildcard *.c)”来获取工作目录下所有的.c文件列表。...C语言源程序文件名方法,这下好了,不用手工一个一个指定需要编译.c文件了,方法如下: SRC = $(wildcard *.c) 等于指定编译当前目录下所有.c文件,如果还有子目录,比如子目录为...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

53310

Linux 命令(102)—— zip 命令

如果压缩文件损坏严重或者被截断,则需要 -FF 来修复 -FS, --filesync 将存档内容与操作系统上文件进行同步。...指定被压缩文件 -j, --junk-paths 不保留被压缩文件目录信息,只保留文件名 -J, --junk-sfx 从存档中删除所有前置追加数据(例如 SFX 存根) -k, --DOS-names...目标文件会被删除,如果目标文件所在目录变成空目录,也会被删除 -MM, --must-match 所有输入模式至少匹配一个文件,且所有输入文件必须可读,否则 zip 将返回 OPEN 错误并退出...其中 MM 表示月(00-12),DD 表示每个月日(01-31),YYYY 表示年 -T, --test 检查新 zip 文件完整性,如果检查失败,那么旧 zip 文件不会被改变,且输入文件不会被删除...需要 --out 选项来指定与输入存档不同输出文件 -UN, --unicode V 确定 zip 如何处理 Unicode 文件名

6.1K10

常用简单命令_bash笔记2

,开子shell执行括号里命令,不是前面的条件分组,不要转义括号 tr(translate) 对来自标准输入字符进行替换,删除和压缩,用来做字符串处理 # 大小写转换 echo 'Ho Hoho...-终止字符,结果不是一个连续字符序列的话,就当做3个普通字符 注意:tr只是对输入每个字符做映射,没有串匹配和替换,是字符级操作,不是字符序列(字符串)级 其它常用选项: # -d删除字符 #...命令用来分割大文件,例如: # 把data.txt分割成1k多个文件 split -b 1k data.txt 默认生成xaa, xab, xac...之类文件名,默认严格按大小拆分,行可能会被截断...filename:$filename # 提取扩展名 ext=${file##*.} echo ext:$ext 用法如下: # 从var值中删掉%右侧通配符所匹配字符串,从右边向左匹配 ${var...%.*} # %%贪婪匹配,会找出最长串,%匹配最短串 ${var%.*}# 从var值中删掉#右侧通配符所匹配字符串,从左向右匹配 ${var#*.} # 对应贪婪匹配 ${var##*.}

51810

Linux学习--网络、进程、服务、软件管理

-p:显示正在使用Socket程序识别码和程序名称 七、进程管理 ps [-aux] # a:显示当前终端所有进程信息 # u:以用户为主格式显示进程信息 # x:显示后台运行进程...STAT状态 符号 含义 S 睡眠 s 表示该进程是会话先导进程 N 表示进程拥有比普通优先级更低优先级 R 正在运行 D 短期等待 Z 僵死进程 T 被跟踪或者被停止 kill [-9] # 通过进程号杀死进程,9:强制 killall # 通过进程名称杀死进程,支持通配符,杀死所有同名进程 pstree [-pu] # 查看进程树,p...u回车后输入用户名查看指定用户进程 ​ 输入k回车后输入进程号结束指定进程 八、服务管理 service [start|stop|restart|reload|status]...yum install # 安装 yum remove # 删除指定软件

74330

shell脚本编程之路3

来获取执行结果; shell中函数传参与脚本传参是一致,但是得注意 $0 代表任然是父脚本名称; 删除函数 描述:像删除变量一样,删除函数也可以使用 unset 命令,不过要加上 .f 选项,如下所示...如果你希望直接从终端调用函数可以将函数定义在主目录下 .profile 文件,这样每次登录后在命令提示符后面输入函数名字就可以立即调用。.../bin/bash #提取文件名或者删除后缀 file_name="text.gif" #从$VAR中删除位于 % 右侧通配符左右匹配字符串,通配符从右向左进行匹配,现在给变量 name 赋值,name.../bin/bash #提取后缀,删除文件名。 file_name="text.gif" # ${VAR#*.}...含义:从 $VAR 中删除位于 # 右侧通配符所匹配字符串,通配符是左向右进行匹配。

3.3K10

全网最牛Linux内核Makefile系统文件详解(纯文字代码)

链接器并不管函数所在源文件,只管函数中间目标文件(Object File),在大多数时候,由于源文件太多,编译生成中间目标文件太多,而在链 届时需要明显地指出中间目标文件名,这对于编译很不方便,所以...三、make是如何工作 在默认方式下,也就是我们只输入make命令。那么, 1、make会在当前目录下找名字叫“Makefile”或“makefile”文件。...一个需要我们注意是,如果我们文件名中有通配符,如:“*”,那么可以用转义字符“\”,如“\*”来表示真实“*”字符,而不是任意长度字符串。...我们可以输入make cleanall”和“make cleanobj”和“make cleandiff” 命令来达到清除不同种类文件目的。...当make执行时,会输出“正在编译XXX模块......”字串,但不会输出命令,如果没有“@”,那么,make将输出: echo 正在编译XXX模块...... 正在编译XXX模块......

3.1K20

Linux学习笔记——详解Linux常见命令及终端使用技巧

(科普) ls 通配符(常用于匹配) 查看目录内容 `ls` `cd` 创建和删除 `touch` `mkdir` `rm` 拷贝和移动文件 `tree` `cp` `mv` 查看文件内容 `cat`...切换文件夹 04 touch [文件名] touch 如果文件不存在,新建文件 05 mkdir [目录名] make directory 创建目录 06 rm [文件名] remove 删除指定文件名...、函数详细使用说明 使用 man 时操作键: 操作键 功能 空格键 显示手册页下一屏 Enter 键 一次滚动手册页一行 b 回滚一屏 f 前滚一屏 q 退出 /word 搜索 word 字符串...(常用于匹配) 通配符 含义 * 代表任意个数个字符(包括扩展名等等)(可以是0个) ?...当前目录 所在目录位置 绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始具体目录位置 创建和删除 touch 创建文件或修改文件时间 如果文件 不存在,可以创建一个空白文件

1.1K20

Proguard 常用规则

foobar,*.bar” 匹配除了foobar之外所有以bar结尾名称。 下面以过滤文件具体举例。 文件过滤器 像通用过滤器一样,文件过滤器是逗号分隔文件名列表,可以包含通配符。...只有具有匹配文件名文件被读取(在输入情况下),或者被写入(在输出情况下)。支持以下通配符: ? 匹配文件名字中任何单个字符 * 匹配不包含目录分隔符文件名任何部分。...内部属性对于调试很有用,例如源文件名,变量名和行号被删除。 -printmapping [filename] 指定将旧名称映射到已重命名类和类成员新名称映射。...,ProGuard只保留该类及其无参数构造函数作为入口点。...也可以使用短类名(无包)或使用完整类名来指定构造函数。和Java语言一样,构造函数规范有一个参数列表,但没有返回类型。 类访问修饰符和类成员访问修饰符通常用于限制通配类和类成员。

1.6K20
领券