在Windows上实现通过armcc来编译arm m4代码生成特定C语言源文件的lib库
参考资料的地址:
对git库的文件进行的操作
指定类型文件的删除和恢复,需要用到find指令和git命令
$ find -name "*.c" | xargs rm
find,grep,args,sed正则 配合使用
find ./ -type f -name "*.log" | xargs grep "test-test-test"
find . -type f -exec grep -l "303i" {} \^((25[0-5]|2[0-4]\\d|[1]{1}\\d{1}\\d{1}|[1-9]{1}\\d{1}|\\d{1})($|(?!\\.$)\\.)){4}$
# 确地截取出来某个时间段的日志。
sed -n '/2018-06-24 21:50:01/,/2018-06-25 22:01:01/p' /home/www/error.txt | less
————————————————
版权声明:本文为CSDN博主「廿一小天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nianyixiaotian/article/details/82853339
git checkout 恢复指定文件夹下的文件
$ git checkout HEAD -- 文件名
$ git checkout HEAD -- .
意思就是将 当前目录及其子目录(即命令中的点 . ) 下的修改恢复到 最近一次提交 的状态。
它不会影响到这个目录之外的其他目录中的改动。
参考
删除未提交的恢复:不想删除 MainActivity.java ,把它恢复过来,使用命令 git checkout HEAD – MainActivity.java ,git checkout,后面加上一个 HEAD,表示最近一次提交,后面是两条横线,表示当前的分支,一个空格,接上是要恢复的文件的名称,意思就是把 MainActivity.java 这个文件恢复到最近一次提交的状态。
————————————————
版权声明:本文为CSDN博主「叶涛的BLOG」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44653603/article/details/87367914
然后是了解armcc的编译
《keil编译链接过程以及ARMCC、ARMASM、FROMELF、ARMLINK、ARMAR的使用》()
主要是Windows
还有keil设置的了解
Misc Controls
《KEIL工程目标选项配置》(https://blog.csdn.net/jdsnpgxj/article/details/78792989)
以及Alios的编译,
aos-cube
aos make的部分介绍,说了aos的编译过程,而不是简单的列几条命令。
参考(https://blog.csdn.net/zwl1584671413/article/details/105209661)
找了找找到了阿里的Alios的开发者网站(https://www.alios.cn/)中,然并卵。
aos定制的aos.mk的知识
传参
aos make export-keil ProjType=SDK
makefile中 $(1) $(2) 这样的表达式是什么意思
百度知道 https://zhidao.baidu.com/question/516551527.html
函数功能:“call”函数是唯一一个可以创建定制参数化的函数的引用函数。我们可以将一个变量定义为一个复杂的表达式,用“call”函数根据不同的参数对它进行展开来获得不同的结果。在执行时,将它的参数“PARAM”依次赋值给临时变量“ ( 1 ) ” 、 “ (1)”、“ (1)”、“(2)”(这些临时变量定义在“VARIABLE”的值中,参考下边的例子)……call函数对参数的数目没有限制,也可以没有参数值,没有参数值的“call”没有任何实际存在的意义。执行时变量“VARIABLE”被展开为在函数上下文有效的临时变量,变量定义中的“ ( 1 ) ” 作 为 第 一 个 参 数 , 并 将 函 数 参 数 值 中 的 第 一 个 参 数 赋 值 给 它 ; 变 量 中 的 “ (1)”作为第一个参数,并将函数参数值中的第一个参数赋值给它;变量中的“ (1)”作为第一个参数,并将函数参数值中的第一个参数赋值给它;变量中的“(2)”一样被赋值为函数的第二个参数值;依此类推(变量 ( 0 ) 代 表 变 量 “ V A R I A B L E ” 本 身 ) 。 之 后 对 变 量 “ V A R I A B L E ” 表 达 式 的 计 算 值 。 返 回 值 : 参 数 值 “ P A R A M ” 依 次 替 换 “ (0)代表变量“VARIABLE”本身)。之后对变量“VARIABLE” 表达式的计算值。 返 回 值:参数值“PARAM”依次替换“ (0)代表变量“VARIABLE”本身)。之后对变量“VARIABLE”表达式的计算值。返回值:参数值“PARAM”依次替换“(1)”、“$(2)”…… 之后变量“VARIABLE”定义的表达式的计算值。
make条件判断ifeq,ifneq,ifdef,ifndef
通过aos.mk覆盖下的.c文件是否有效
ifneq ($(ProjType),LIB)
SOURCE += *.c
$(error kk test ... ...)
endif
文本处理工具sed
https://www.cnblogs.com/boundless-sky/p/12020585.html
搜索含有特定字符串在某个目录并打印出文件名
grep -rl “www.baidu.com” /data
-r, --recursive like --directories=recurse
-l, --files-with-matches print only names of FILEs containing matche
批量查找与替换
sed -i “s/原字符串/新字符串/g”grep 原字符串 -rl 所在目录
最后还有打patch
patch [-R] {-p(n)} [--dry-run] < patch_file_name
p:为path的缩写。
n:指将patch文件中的path第n条’/’及其左边部分取消。
-R:卸载patch包。
--dry-run:尝试patch软件,并不真正修改软件。
git add 之后的恢复
git add .
执行了上面的操作如何恢复,可利用restore实现
git restore --staged .