cmake学习之判断操作系统版本
[TOC]
概述
文件结构
基础数据类型:
- 8 bit: byte ubyte bool
- 16 bit: short ushort
- 32 bit: int uint float
- 64 bit: long ulong double
复杂数据类型:
数组 (用中括号表示
[type]
). 不支持嵌套数组,可以用 table 实现字符串 string
, 支持 UTF-8 或者 7-bit ASCII. 对于其他编码可以用数组 [byte] 或者 [ubyte] 表示。Struct 只支持基本类型或者嵌套 Struct
Table 类似 Struct,但是可以支持任何类型
structs对象
structs 和 table 非常相似,只是 structs 没有任何字段是可选的(所以也没有默认值),字段可能不会被添加或被弃用。结构可能只包含标量或其他结构。如果确定以后不会进行任何更改(如 Vec3 示例中非常明显),请将其用于简单对象。structs 使用的内存少于 table,并且访问速度更快(它们总是以串联方式存储在其父对象中,并且不使用虚拟表)。
structs 不提供前向/后向兼容性,但占用内存更小。对于不太可能改变的非常小的对象(例如坐标对或RGBA颜色)存成 struct 是非常有用的。
编写Scheme文件
1 | // 打电话的状态 |
编译Scheme文件
1 | flatc [ GENERATOR OPTIONS ] [ -o PATH ] [ -I PATH ] [ -S ] FILES… [ – FILES…] |
定义文件按照顺序被读取和编译,还可以包含其他定义文件和数据(详情 见下面).
任意个定义文件可能生成一个或者多个定义文件,这取决于附加的命令选项:
- –cpp,-c :按照定义生成C++头文件
- –java,-j :按照定义生成Java代码
- –csharp,-n :按照定义生成C#代码
- –go,-g :按照定义生成Go代码
- –python,-p :按照定义生成python打底吗
- –javascript,-s :按照定义生成JavaScript
- –php :按照定义生成php
数据序列化格式选项 - –binary,-b :序列化成.bin 后缀的二进制格式,
- –json,-t :序列化成.json 后缀的json格式,
其他选项 - -o PATH :输出搜有生成的文件到Path(绝对路径,或者相对于当前目录)路径,如果省略,Path就是当前目录.路径末尾因该是你的系统分隔符\或者/.
- -I PATH :当遇见include声明,试图读取文件的时候将从此路径按照顺序查找,如果失败,就按照相对路径查找
- -M :打印Make规则到生成文件
- –strict-json :要求生成严格的json文件(名字等字段包含在引号中,table和Vector末尾没有逗号),默认 在required/generated时没有引号,末尾逗号是允许的
- —defaults-json :当输出json文件本的时候输出字段等于默认值
- —no-prefix :当生成C++头文件时 枚举值不包含枚举类型的前缀
- —scoped-enums :使用C++11风格作用域和强类型枚举生成C++,也就意味着 –no-prefix
- —no-includes :不生成包含include模式的代码,(依赖C++)
- —gen-mutable :为可变的FlatBuffers生成额外的non-const访问器
- —gen-onefile :生成一个定义文件(用于C#)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus