
指定要在其中搜索导入的目录。可多次指定;将按顺序搜索目录。如果未给定,则使用当前工作目录。若在这些目录中找不到,将检查描述符中的descriptor_set_in 是否有所需的proto文件
–version显示版本信息并退出
-h, --help显示此文本并退出。
–encode=MESSAGE_TYPE从标准输入读取给定类型的文本格式消息,并将其以二进制形式写入标准输出。必须在PROTO_FILES或其导入中定义消息类型。
–deterministic_output使用–encode时,请确保映射字段的顺序是确定的。请注意,此顺序不是规范的,并且在protoc的构建或发布版本中会发生更改。
–decode=MESSAGE_TYPE从标准输入读取给定类型的二进制消息,并将其以文本格式写入标准输出。必须在PROTO_FILES或其导入中定义消息类型。
–decode_raw从标准输入读取任意协议消息,并将文本格式的原始标记/值对写入标准输出。使用此标志时不应提供任何PROTO_FILES。
–descriptor_set_in=FILES指定文件的分隔列表,每个文件都包含一个FileDescriptorSet(在descriptor.proto中定义的协议缓冲区)。提供的每个PROTO_FILES的FileDescriptor将从这些FileDescriptorSet加载。如果FileDescriptor出现多次,将使用第一次出现。
-oFILE, --descriptor_set_out=FILE将包含所有输入文件的FileDescriptorSet(在descriptor.proto中定义的协议缓冲区)写入FILE
–include_imports在使用–descriptor_set_out时,还要包括集合中输入文件的所有依赖项,以便集合是自包含的。
–include_source_info使用–descriptor_set_out时,不要从FileDescriptorProto中删除SourceCodeInfo。这会产生更大的描述符,其中包括源文件中每个decl的原始位置信息以及周围的注释。
–dependency_out=FILE以make期望的格式编写依赖项输出文件。这会将可传递的输入文件路径集写入FILE
–error_format=FORMAT设置打印错误的格式。FORMAT可以是“gcc”(默认)或“MSV”(Microsoft Visual Studio格式)。
–fatal_warnings将警告设置为致命警告(类似于gcc中的-Werr)。如果生成任何警告,此标志将使protoc返回非零退出代码。
–print_free_field_numbers打印给定proto文件中定义的消息的自由字段号。组与父消息共享相同的字段号空间。扩展范围被计为已占用字段数。
–plugin=EXECUTABLE指定要使用的插件可执行文件。通常,protoc会在路径中搜索插件,但您可以使用此标志指定路径中没有的其他可执行文件。此外,EXECUTABLE(可执行文件)的形式可能是NAME=PATH,在这种情况下,即使可执行文件本身的名称不同,给定的插件名称也会映射到给定的可执行文件。
–cpp_out=OUT_DIR生成C++头和源代码。
–csharp_out=OUT_DIR生成C#源文件。
–java_out=OUT_DIR生成Java源文件。
–js_out=OUT_DIR生成Javascript源代码。
–kotlin_out=OUT_DIR生成Kotlin文件。
–objc_out=OUT_DIR生成Objective-C头和源。
–php_out=OUT_DIR生成PHP源文件
–python_out=OUT_DIR生成Python源文件。
–ruby_out=OUT_DIR生成Ruby源文件。
@< filename >从文件中读取选项和文件名。如果指定了相对文件路径,则将在工作目录中搜索该文件。–proto_path选项不会影响此参数文件的搜索方式。文件内容将在参数列表中的@位置展开。请注意,shell扩展不应用于文件的内容(即,不能使用引号、通配符、转义符、命令等)。每行对应一个参数,即使它包含空格。