笔记索引

CMake 简单使用

命令行

1
2
3
4
生成构建系统
cmake [<options>] <path-to-source>
cmake [<options>] <path-to-existing-build>
cmake [<options>] -S <path-to-source> -B <path-to-build>
  • -D <var>:<type>=<value> 设定变量
  • -G <generator-name> 指定生成器
  • --graphviz=[file] 生成依赖图
  • -A <platform-name> 指定平台
1
2
构建一个项目
cmake --build <dir> [<options>] [-- <build-tool-options>]
阅读全文 »

编译流程

笔记索引

编译一般可以分为三个阶段:

预处理 Preprocessing

执行预处理语句(#define 等)

编译和汇编 Compilation & assembly

经过两步将预处理器产生的代码编译成目标文件(object file):

  1. 代码编译成底层汇编代码。在这一步中,编译器会对代码进行检查优化,指出各种错误

  2. 汇编器将上一步生成的汇编代码逐行转换成字节码(也就是机器码)

链接 Linking

链接器利用编译器产生的目标文件,生成最终结果

在这一阶段,编译器将把上一阶段中编译器产生的各种目标文件链接起来形成一整个链接库或者可执行文件

数据类型

笔记索引

“定义”、“声明”、“赋值”与”初始化“

  • declaration

    声明:说明了变量的名字和类型,但并不分配存储空间

  • definition

    定义:说明了变量的名字和类型,为它分配了存储空间,但并不一定要填充初始值

  • initialization

    初始化:是一种仅对全局变量(全局变量指所有函数外部)、静态变量进行的特殊的定义,若不指定初始值,则自动填充0的隐式转换;由于不对局部变量进行,局部变量内定义后,若不赋值,则会留有垃圾值

  • assignment

    赋值:将某一个数值赋给一个变量的过程,赋值只针对于已定义的变量,可以多次进行。

阅读全文 »

实体(Entity)

客观存在并可相互区别的事物称为实体。

可以是具体的人、事、物或抽象的概念。

属性(Attribute)

实体所具有的某一特性称为属性。

一个实体可以由若干个属性来刻画。

实体型(Entity Type)

用实体名及其属性名集合来抽象和刻画同类实体称为实体型

实体集(Entity Set)

同一类型实体的集合称为实体集

基数

表示 1 个(被标记)实体对另一个实体 0…N

0%