protocolbuffer添加ActionScript3支持

2014-11-23 22:53:51 · 作者: · 浏览: 5

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

#include

#include

5. 编译出protoc.exe

6. 准备proto文件, 使用protoc.exe使用类似CPP生成的方式进行生成

7. 将protobuf-actionscript里的as3-lib及下载好的加密的swc整合到自己的flash工程即可开始使用