protocolbuffer添加ActionScript3支持

protocolbuffer添加ActionScript3支持

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工程即可开始使用

你可能感兴趣的:(protocolbuffer添加ActionScript3支持)