首页 > 其他分享 >gRPC框架学习:4、proto文件编译

gRPC框架学习:4、proto文件编译

时间:2022-10-05 21:43:10浏览次数:80  
标签:protobuf proto gRPC 编译 编译器 https com 防盗链


gRPC框架学习:4、proto文件编译


文章目录

1. 前言

通过前面的学习我们基本上可以看懂proto文件并且可以根据需求慢慢写一些proto文件了,你可以把其当成一个与编程语言无关的rpc接口设计语言,对该语言文件进行编译就可以形成适用于c++、python、Java、go等语言的rpc接口文件,然后我们实现对应的接口内容即可,针对不同语言的编译器在GitHub上有汇总,所以我们根据自己的需求找到对应的项目并了解学习即可,这个做一个简单的汇总方便使用。

2. 编译器总的地址

这个是协议编译器的总地址:

​https://github.com/protocolbuffers/protobuf​

协议缓冲区(aka,protobuf)是Google的语言无关,平台无关的可扩展机制,用于对结构化数据进行序列化。您可以在Google Developers网站上找到protobuf的文档。

该自述文件包含protobuf安装说明。要安装protobuf,您需要为所选的编程语言安装协议编译器(用于编译.proto文件)和protobuf运行时。

3. 具体语言编译器地址

Language

Source

Ubuntu

MacOS

Windows

C++ (include C++ runtime and protoc)

​src​

gRPC框架学习:4、proto文件编译_2d

​​ ​

gRPC框架学习:4、proto文件编译_2d_02

​​ ​

gRPC框架学习:4、proto文件编译_github_03


gRPC框架学习:4、proto文件编译_2d_04

​​ ​

gRPC框架学习:4、proto文件编译_2d_05


​[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gjBuGQX5-1619517947664)(https://camo.githubusercontent.com/c8fe4e7c77eca20fa515e565474cd28416cb5a0addaed1be04759440518d4b05/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f3733637465653675613477327275696e3f7376673d74727565)]​

Java

​java​

gRPC框架学习:4、proto文件编译_2d_06

​​ ​

gRPC框架学习:4、proto文件编译_编译器_07

​​ ​

gRPC框架学习:4、proto文件编译_2d_08

​​ ​

gRPC框架学习:4、proto文件编译_2d_09


Python

​python​

gRPC框架学习:4、proto文件编译_github_10

​​ ​

gRPC框架学习:4、proto文件编译_github_11

​​ ​

gRPC框架学习:4、proto文件编译_2d_12

​​ ​

gRPC框架学习:4、proto文件编译_2d_13

​​ ​

gRPC框架学习:4、proto文件编译_编译器_14

​​ ​

gRPC框架学习:4、proto文件编译_gRPC_15

​​ ​

gRPC框架学习:4、proto文件编译_gRPC_16

​​ ​

gRPC框架学习:4、proto文件编译_gRPC_17

​​ ​

gRPC框架学习:4、proto文件编译_编译器_18

​​ ​

gRPC框架学习:4、proto文件编译_gRPC_19


gRPC框架学习:4、proto文件编译_2d_20

​​ ​

gRPC框架学习:4、proto文件编译_2d_21

​​ ​​[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7zu2lOX-1619517947674)(https://camo.githubusercontent.com/d9a79053b41fd31f6a2fbc52340166ed89974142eee508ba13fa7fe8b6d1ce0a/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f70726f746f6275662d6b6f6b6f726f2d6261646765732f7374617475732d62616467652f6d61636f732d707974686f6e2d72656c656173652e706e67)]​


Objective-C

​objectivec​

gRPC框架学习:4、proto文件编译_2d_22

​​ ​

gRPC框架学习:4、proto文件编译_gRPC_23

​​ ​

gRPC框架学习:4、proto文件编译_github_24

​​ ​

gRPC框架学习:4、proto文件编译_github_25


C#

​csharp​

gRPC框架学习:4、proto文件编译_2d_26


​[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c6HnYSfO-1619517947678)(https://camo.githubusercontent.com/c8fe4e7c77eca20fa515e565474cd28416cb5a0addaed1be04759440518d4b05/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f3733637465653675613477327275696e3f7376673d74727565)]​

JavaScript

​js​

gRPC框架学习:4、proto文件编译_gRPC_27


gRPC框架学习:4、proto文件编译_github_28


Ruby

​ruby​

gRPC框架学习:4、proto文件编译_编译器_29


gRPC框架学习:4、proto文件编译_编译器_30

​​ ​

gRPC框架学习:4、proto文件编译_2d_31

​​ ​

gRPC框架学习:4、proto文件编译_2d_32


Go

​protocolbuffers/protobuf-go​

PHP

​php​

gRPC框架学习:4、proto文件编译_github_33

​​ ​

gRPC框架学习:4、proto文件编译_2d_34


Dart

​dart-lang/protobuf​

​[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YvlCopyQ-1619517947683)(https://camo.githubusercontent.com/b9149e9abf91438ab21dbcab2de5bc6d7d3535973a17622a218325dab90ecdf8/68747470733a2f2f7472617669732d63692e6f72672f646172742d6c616e672f70726f746f6275662e7376673f6272616e63683d6d6173746572)]​


标签:protobuf,proto,gRPC,编译,编译器,https,com,防盗链
From: https://blog.51cto.com/xiaoyaoyou10/5732901

相关文章

  • 14_编译FFmpeg
    本文来详细讲解一下:如何在Mac、Windows环境下成功编译FFmpeg。目标这里先提前说明一下,最后希望达到的效果:编译出ffmpeg、ffprobe、ffplay三个命令行工具只产生动态......
  • Windows下使用Visual Code编写并编译基于C的Python插件
    环境本地Windows10,VisualCode,Pyhton3.10Python的安装路径d:/develop/python/Python3101、C代码fputsmodule.c#include<Python.h>//https://realpython.com/bui......
  • Linux平台编译带PCL和PDAL插件的CloudCompare
    最近的综合课程设计需要用到CloudCompare这款软件处理点云数据,最开始我发现Debian的apt软件库就包含它,安装后却发现打不开.pcd格式的数据,于是需要从源码编译附带PCL插件的C......
  • texlive编译中发现字体有问题解决
    这里可以用tlmgrinfo命令搜索需要下载的字体并从CTAN官网下载。一般这个时候也会有对应的路径,比如texmf-dist/fonts/。把下载的字体解压放在这些路径下,然后分别运行mktexl......
  • 关于项目编译工具ninja、make、cmake的区别与优劣
    ninja和make都是通过脚本语言指定编译规则,然后调用gcc等编译器实现自动化编译,过程中会通过文件时间戳来进行增量构建。ninjaNinja是Google的一名程序员推出的注重速度的构......
  • GCC Arm 11.3rel1, 12.2编译提示 _close is not implemented and will always fail
    使用GCCArm工具链开发的项目,在11.2下编译正常,但是升级到arm-gnu-toolchain-11.3.rel1以及arm-gnu-toolchain-12.2之后,编译出现警告/opt/gcc-arm/arm-gnu-toolc......
  • VS2022编译错误:编译器错误 C2061
    产生原因  自己在做课后练习时,讲char类型替换为了string类型,编译器报错了很多错误,具体的代码如下:golf.h#pragmaonce#include<string>//原本没有这两句会出错usin......
  • androidmanifest.xml 反编译
    androidmanifest.xml反编译去除更新只修改androidmanifest.xml内容解压apk文件后得到这个文件androidmanifest.xmlwindwos安装java环境官网java环境安装安装好后......
  • linux grpc测试基于ghz工具
    1.测试前提,参考先熟悉grpc测试demo:参考官网:python实现grpcclient以及service:​​https://grpc.io/docs/quickstart/python/​​java实现client和service:https://grpc......
  • Qt-工程打开后,编译提示“error: member access into incomplete type 'Ui::MainWindow
    问题现象:之前程序都是可以正常运行的,编译也没有错误提示。今天打开工程后,提示“error:memberaccessintoincompletetype'Ui::MainWindow'”问题原因:原因:访问到不完整的......