在linux下gcc和g++用起来几乎一样,所以会gcc也就会g++了。
vim部分
不过gcc/g++是对写的代码进行编译,它本身不能用来写代码。
写代码我们用的vim,使用命令:vim test.c ,如果test.c存在,那么它将会打开这个文件在我们上次写的进度开始编写,如果没有这个文件,那么就会创建一个test.c文件并打开给我们编写。
vim本质是一个文本编辑器(记事本),如果没有给vim进行配置的话,它就是一个普通的记事本,我们可以通过配置使它在编写代码时变得便捷。
关于配置vim:
简单的配置,我们可以先执行
sudo vim /etc/vim/vimrc
先进入到vimrc文件中,按i进入插入模式后,可以输入以下设置
set nu "在左侧行号
set tabstop "tab 长度设置为 4
set nobackup "覆盖文件时不备份
set cursorline "突出显示当前行
set ruler "在右下角显示光标位置的状态行
set autoindent "自动缩进
这样我们就能给我们的vim加上一些简单的功能。
对于vim 我们作为新手需要了解vim的三种模式:
1.命令模式:当我们进入vim的时候默认时命令模式,我们可以使用一些命令或者使用hjkl(对应左下上又)对代码光标进行位移。
2.底行模式:在命令模式下输入:后进入底行模式,比如:wq为退出并保存。
3.插入模式:在命令模式下按i/a/o进入,进入后才可以做文字输入,按esc可退回到命令模式。
关于移动光标有以下命令:
关于删除有以下命令:
关于复制命令:
替换
撤销上一次操作
更改
跳至指定的行
列出行号
查找字符
保存文件
gcc部分
理解编译原理:
编译的各个阶段:
1.预编译:
2.编译:
3.汇编:
4.链接:
静态库:
动态库:
静态库和动态库的区别:
拓展gcc的选项:
关于调试(gdb)
背景:
1.程序的发布方式有两种,一种是debug模式,另一种是release模式
2.在linux的gcc/g++下编译出来的程序默认是release模式。
3.如果要改为debug模式,那么需要在编译源文件的时候在其后面加上 -g选项。
4.在gdb下会自动保存上一个命令,直接在空命令行按回车就会执行。
使用gdb:
退出:
退出gdb使用ctrl+d或者quit。
调试:
关于自动化构建工具-makefile
背景:
听着很高级,其实主要实现我们在VS下的ctrl+f5自动完成编译的功能,甚至还没有VS的好,那我们为什么还要用呢?
新手阶段可能感受不到,是否会写makefile可以从侧面反映出一个人是否具备完成大型工程的能力,它的好处是只要写好了makefile,它们它的编译工作就可以变得自动化,极大的解放了程序猿的双手,提高开发效率。
make是一个命令工具,是一个解释makefile中指令的工具
make是一个命令,makefile是一个文件。二者搭配完成项目自动化构建。
使用:
简单代码示例:
test:test.c
@gcc $^ -o $@
.PHONY:clean
clean:
@rm -f test
其中@的作用是隐藏执行代码。第二行的$^代表源文件,$@代表目标文件。clean用.PHONY修饰,是把它设置成伪目标,它的特性是总是被执行。
注意:配置好后在命令行直接输入make进行自动化编译,进行清除就用make clean。
并且,clean:在makefile中一定要顶格写。
那么的原理是什么呢?
首先是make执行后它就会在当前目录下去找makefile或者Makefile文件,它会根据依赖关系来找到test.c文件然后来执行后边的语句。如果有多个目标文件且有着层层的依赖关系,那么它会智能的根据源文件来依次生成目标文件,当然如果找不到就会退出且报错。
初学makefile并在linux下写的进度条代码复习test2023_8_26/Test · 藤原聪明/LinuxTestCode - 码云 - 开源中国 (gitee.com)
关于git
首先要安装git,可以用 “yum install git ”。
我们的系统第一次使用git的时候要先配置我们的用户名和邮箱,不然可能正常使用命令时会报错
#配置用户名
git config --global user.name xxx
#配置邮箱
git config --global user.email xxx@xxx.com
#检测配置
git config --list
用 git --help可以查看git的帮助手册。
配置好后,以gitee为例,当我们创建好代码仓库的时候,复制好仓库的地址链接,执行 git clone +地址,把远程仓库拉取到本地。
提交代码到远程仓库三板斧:
第一步.git add +文件名:添加文件到这个本地仓库中,可以使用“git add .”来全部添加。
第二步.git commit -m " xxxx":提交改动并提交更新日志,""里面是此次改动的说明,要认真填写。
第三步.git push:将add的内容进行推送,并附上我们写的日志。至此远程仓库也会有反馈,说明提交成功。
(待续。。。。。。。)
注意 :git push 后问你的username,就是你的账号,比如手机号或者邮箱。下一步就要填你的git的密码。
对了关于文件的理解:文件=文件内容+文件属性。
另外,如果你想对一个新的目录上传代码,
发现有这样类似没有找到.git目录的报错,可以执行命令
git init
还有,如果想撤回上一次git add 的所有内容,可以使用
git reset
---------------------------------------------------------------------------------------------------------------------------------
补充操作
可以用如上方式在vim的命令行模式中对函数进行查找。