1- 与往常一样,定义一个结构体。
这一步,是最简单直接的。所有会用的人都会定义。
2- 结构体定义的数据化。
所谓数据化,就是将结构体的每个成员的OFFSET、DATATYPE、NAME以及其他描述性的数据,变成程序可以读的数据。
我所想到的有两种方法:
方法A:用一个类,通过解析结构体定义文本的形式来生成这个数据。
这样我们可以通过宏,在结构体的定义上做一个hack。就像是打印出执行的每一句代码那样的宏一样使用#。
方法B:用一个类,通过手动初始化的方法,将成员的OFFSET、DATATYPE、NAME以及其他描述性数据,设置进去。
这个方法是最简单的,不过它增加了我们编码时的复杂程度。
3- 用得到的结构体数据,在一段内存上构建、读取和写入结构体。
这个就简单了,你知道OFFSET和DATATYPE,就很简单的读写了。
好处:
脚本化可以方便的使用字符串来读写数值。序列化反序列化,数据库应用等,都很方便。