神奇工具用法
约 1185 字大约 4 分钟
vimvim便签make
2025-03-26
神奇工具
VIM篇
小工具集合
提醒
常见的编译工具:as(汇编)、cpp(预处理器)、ld(链接器)、gcc(GNU C编译器)、g++(GNU c++ 编译器)、gdb(调试器)、ar(归档工具)。
需要注意的是gcc不是真正的C编译器,他是GNU C编译器工具集中的一个二进制工具。gcc首先运行,然后由gcc分别调用预处理、编译器、汇编器、链接器等工具来完成整个编译过程。
gcc GNU
- -E:对c源程序进行预处理,不编译
- -S:只编译汇编文件,不在汇编
- -c: 只编译生成目标文件,不进行链接
- -o:指定输出的可执行文件名
- -g:生成带有调试信息的debug文件
- -O2:代表编译优化等级,一般选2
- -W:在编译中开启警告(warning)
- -I:大写的I,在编译时指定头文件的路径
- -i:小写的i,指定程序使用的函数库
- -L:指定函数库的路径
make编译工具链
makefile中定义了规定以及依赖关系,分析出可执行文件以及依赖文件所依赖的源文件,并依据依赖关系构造依赖树。
。PHONY all clean #伪目标,伪目标比较特殊,一般没有依赖,伪造目标也可表示单纯的依赖关系。
all: hello #总目标
hello :main.o sum.o#指定依赖
gcc -o hello main.o sum.o
main.o : main.c
gcc - c main.c
sum.o : sum.c
gcc -c sum.c
clean:
rm -rf main.p sum.p hello
#目标: 目标依赖
# 命令在这个Makefile的背景下面使用make clean 就清空编译过程文件。make就是生成目标文件。
Git
提示
这是代码管理工具,叫做版本控制系统,仅仅只记录下每一个文件的变化。
分布式版本控制系统,将版本保存在每个员工的计算机中,每一个计算机里面都有备份,不用害怕删库跑路。
git config --global usr.email 对当前用户下的所有仓库生效
git config --system usr.email对当前系统下面的所有用户生效。
#常见的git 指令
#流程性
git init ->git remote add origin http://****->git checkout -b branch #创建git并且绑定远端仓库
git log ->git log --oneline --graph
git add
git rm ->git rm --cached
git restore
git checkout
git branch -vv /-a
git commit
git show commit_id
git stash #暂存修改可以做到不提交切换分支
git stash apply #将刚刚暂存的变更应用到当前
git stash pop#把刚刚暂存起来的变更释放出来
git add .
git branch #创建但是不切换
git cherry-pick "commit_id" #可以代替git merge 只合并选择的目标
git cherry-pick --no-commit "commit_id"
git merge --no-nocmmit branch
git merge branch
git reset #取消暂存
git checkout 分支--文件#将选择分支的文件直接覆盖到当前分支,该操作不可逆
#####################
# 1. 合并前先重置这些文件到目标分支的状态
git checkout main
git checkout your-branch -- . # 合并所有文件
git reset HEAD some-file.txt # 取消某些文件的合并
git checkout HEAD -- some-file.txt # 恢复这些文件到 main 的状态
git commit -m "合并并排除 somse-file.txt"
#########理解工作区、暂存区、版本库,
