Skip to content

神奇工具用法

约 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"
#########

理解工作区、暂存区、版本库,

贡献者: sakura, 17341944787