1 对vim进行配置可以更容易的写代码
2 在Linux中默认输入法框架位ibus,所支持的输入法只有英文输入,要想下载外源输入法就要先下载支持外源输入法的框架fcitx。
3 sudo的英文名字:super user do。
4 apt的英文名字:advanced packageing tools是一个在Debian和Ubuntu中的shell前端软件包管理器。apt命令的执行需要超级管理员的权限(root)。
5. Makefile项目管理的用途:
1)项目代码的编译管理
2)节省编译项目实践
3)一次编写终身受益
4)操作实例文件:add.c sub.c mul.c dive.c main.c
6 .o文件:可重新定位的目标二进制程序
7 Makefile文件中 # 表示注释。Makefile文件有两部分组成,一个是目标:依赖(条件)
8 Makefile自上向下建立关系树,自下向上执行命令
9 Makefile工作原理
1)分析各个目标和依赖之间的关系
2)根据依赖关系自底向上执行命令
3)根据修改时间比目标新,确定更新
4)如果目标不依赖任何条件,则执行对应命令,以示更新
10 touch的作用是更新文件时间
11 clean的用途:清楚编译生成的中间.o文件和最终目标文件。make clean 如果当前目录下有同名clean文件,则不执行clean对应的命令。
12 Makefile的三要素:目标、依赖、命令
13 在Makefile中三个特殊的变量$@表示目标,$^表示所有依赖,$<表示依赖中的第一个。
14 make默认执行第一个出现的目标,可通过make dest制定要执行的目标;distclean目标;install目标。
15 Cmake是一种高级编译配置工具。当多个人用不同的语言或者编译器开发一个项目是,最终要输出一个可执行文件后者共享库(dll,so等等)这时候使用Cmake。所有的操作(编译过程、配置步骤)都是通过编译CMakeLists.txt来完成的——简单。为将来处理大型的C/C++/JAVA项目做准备
16 CMakeLists.txt中几条语句的含义
1)PROJECT关键字
可以用来指定工程的名字和支持的语言,默认支持所有语言
PROJECT (HELLO) 制定了工程的名字,并且支持所有语言(建议写法)
PROJECT (HELLO CXX) 指定了工程的名字,并且支持语言是C++
PROJECT (HELLO C CXX) 指定了工程的名字,并且支持语言是C和C++
该指定隐式定义了两个CMAKE变量
<projectname>_BINARY_DIR,比如HELLO_BINARY_DIR
<projectname>_SOURCE_DIR,比如HELLO_BINARY_DIR
MESSAGE关键字就可以直接使用这两个变量
17 关于程序的路径问题
1)在Linux,相对路径相对于可执行程序
2)在VS中,编译同时运行程序,相对路径,相对于xxxx.vcxproj(项目文件)所在的路径;如果直接运行程序,相对路径相对于可执行程序。fopen中的模式如果为w,文件不存在直接创建,文件存在则清空;模式如果为r,那么文件不存在就报错。
3)在Qt中,编译同时运行程序,相对路径,相对于debug所在的路径;如果直接运行程序,相对路径相对于可执行程序。
18 fopen会在堆区分配空间,返回堆区地址给fp。