饭中淹的避难所~~~~~

偶尔来避难的地方~

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks
1- 与往常一样,定义一个结构体。
    这一步,是最简单直接的。所有会用的人都会定义。

2- 结构体定义的数据化。
    所谓数据化,就是将结构体的每个成员的OFFSET、DATATYPE、NAME以及其他描述性的数据,变成程序可以读的数据。
    我所想到的有两种方法:
    方法A:用一个类,通过解析结构体定义文本的形式来生成这个数据。
        这样我们可以通过宏,在结构体的定义上做一个hack。就像是打印出执行的每一句代码那样的宏一样使用#。


    方法B:用一个类,通过手动初始化的方法,将成员的OFFSET、DATATYPE、NAME以及其他描述性数据,设置进去。
        这个方法是最简单的,不过它增加了我们编码时的复杂程度。


3- 用得到的结构体数据,在一段内存上构建、读取和写入结构体。


    这个就简单了,你知道OFFSET和DATATYPE,就很简单的读写了。




好处:

    脚本化可以方便的使用字符串来读写数值。序列化反序列化,数据库应用等,都很方便。
posted on 2010-05-10 14:20 饭中淹 阅读(2287) 评论(3)  编辑 收藏 引用 所属分类: 数据算法分析

评论

# re: 构建脚本化的C++结构体 2010-05-10 17:30 陈梓瀚(vczh)
第四个方法,先设计一个struct的语法,然后写一个代码生成器去生成h和cpp。可以写一个bat,每一次编译之前运行一遍产生正确的代码。  回复  更多评论
  

# re: 构建脚本化的C++结构体 2010-05-11 02:16 Θ§奏之章℡
参阅《程序员修炼之道》第三章20结《代码生成器》。中文版80页。
  回复  更多评论
  

# re: 构建脚本化的C++结构体 2010-05-11 10:19 饭中淹
@Θ§奏之章℡
参阅和真正需求到的,完全不一样。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理