战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

protocolbuffer默认支持java, python 和c++,其他的语言需要自己编写代码生成器他语言的代码.

不过官网也提到过ActionScript3的支持,点击看这里

protobuf-actionscript3包括ActionScript3的序列号及反序列化的as源码.以及protoc的as3代码生成器的C++代码

另外, protobuf-actionscript3还需要一个加密库as3crypto支持,需要一并下载

当然, protobuf 库也是最重要的.

下面说明如何编译出支持as3的protoc代码生成器:

 

1. 将protobuf-actionscript3库中compiler\as3目录拷贝到protobuf库的src\google\protobuf\compiler下.目录结构如下:

as3\
    cpp\
    java\
    python\
    code_generator.cc
    command_line_interface.cc

...

 

2.打开protobuf工程中的sln, 在libprotoc添加刚才添加的as3目录下的所有文件

3. 在protoc工程的main.cc中添加

  google::protobuf::compiler::as3::As3Generator as3_generator;
  cli.RegisterGenerator("--as3_out", &as3_generator,
      "Generate ActionScript source file."); 

4. 打开as3_file.h

注释掉以下代码

namespace protobuf {
  class FileDescriptor;        // descriptor.h
  namespace io {
    class Printer;             // printer.h
  }
  namespace compiler {
    class OutputDirectory;     // code_generator.h
  }
}

包含内添加

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/compiler/code_generator.h>
#include <google/protobuf/io/printer.h>
5. 编译出protoc.exe
6. 准备proto文件, 使用protoc.exe使用类似CPP生成的方式进行生成
7. 将protobuf-actionscript里的as3-lib及下载好的加密的swc整合到自己的flash工程即可开始使用
posted on 2011-08-10 22:00 战魂小筑 阅读(2874) 评论(0)  编辑 收藏 引用 所属分类: 脚本技术C++/ 编程语言

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