protobuf 中#ifdef 语法的等价物

shi*_*kar 4 protocol-buffers

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

Ken*_*rda 8

Protobuf 语言本身没有内置任何内容,但您当然可以在将.proto文件传递给protoc. 在 Unix 系统上:

cpp -P src.proto > preprocessed.proto
protoc preprocessed.proto
Run Code Online (Sandbox Code Playgroud)

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

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