相当于protobuf中的#ifdef语法

时间:2016-04-14 14:12:23

标签: protocol-buffers

protobuf消息中的#ifdef等价物是什么?我在语言指南https://developers.google.com/protocol-buffers/docs/proto

中找不到任何内容

1 个答案:

答案 0 :(得分:4)

Protobuf语言本身没有内置,但您可以在将.proto文件传递给protoc之前运行C预处理器。在Unix系统上:

cpp -P src.proto > preprocessed.proto
protoc preprocessed.proto

cpp(随C编译器一起提供)将评估#ifdef和其他C预处理程序指令(以#开头的任何内容)并输出带有结果的新文件。

-P选项阻止预处理器输出用于C编译器的调试信息指令,protoc无法理解。