草庐IT

tokio-proto

全部标签

Bazel没有PY_PROTO_LIBRARY的定义

试图运行时我会遇到以下错误$bazelbuildobject_detection/...而且我遇到了〜20个相同的错误(每次尝试构建该错误时)。我认为这是我需要配置Bazel来识别PY_PROTO_LIBRARY的方式,但是我不知道在哪里或如何做。/src/github.com/tensorflow/tensorflow_models/object_detection/protos/BUILD:325:1:name'py_proto_library'isnotdefined(didyoumean'cc_proto_library'?).我还认为最初安装了CPP版本的TensorFlow,然后为

c++ - boost.proto + 在构建表达式树之前检测无效终端

我在玩Boost.Proto,主要是为了好玩,看看将来我是否可以在我自己的项目中使用它。也就是说,作为这个库的大多数初学者,我玩过“惰性vector”示例的修改版本,但使用转换而不是上下文来执行评估。vector定义如下(好吧,我知道,'vector'不是在全局命名空间范围内定义的东西的好名字......)templateclassvector{Tdata_[D];enum{dimension=D};//Constructors,destructors...};//expressionwrappertemplateclassvector_expr;它是在维度和数据类型上模板化的,有点像

c++ - 在导入的 .proto 文件中扩展 protobuf.FieldOptions

我正在尝试在谷歌ProtocolBuffer中定义我的自定义字段选项。如果我创建这样一个文件,一切正常:import"google/protobuf/descriptor.proto";packagetutorial;extendgoogle.protobuf.FieldOptions{optionalint32myopt=70000;}messagePersona{requiredstringname=1[(myopt)=5];}但是,如果我尝试将“myopt”定义移动到另一个文件,编译会失败:myext.proto:packagemyext;import"google/protob

c++ - 如何确定编译器对元程序做了什么? (对于 boost.proto)

我如何确定我的编译器(g++)使用模板代码做什么?我正在使用boost.proto(一个表达式模板库)在编译时计算一些数学表达式。代码正确地评估了表达式,但我想看看编译器是否已经将表达式扩展为等同于手写的c代码(即消除了所有临时变量),或者是否还有一些进一步的编译时优化待完成。有没有办法查看编译器对模板做了什么?谢谢 最佳答案 有几种方法可以在模板实例化通过后查看C++代码:使用gcc-fdump-tree-original(甚至可以使用-fdump-tree-all查看更多pass)使用ElsaC++解析器:http://scot

c# - boost proto vs c# 表达式树

首先,我想知道这两个“功能”是否具有相同的目标。其次,如果是(或只是部分是),boostprotoover是否有任何重大限制?C#表达式树谢谢 最佳答案 我是Boost.Proto的作者,我最近才发现C#表达式树。AFAICT,它们在意图上相似,但在实现和范围上不同。C#具有将LINQ表达式捕获为动态类型树的语言支持。LINQ消费者使用它来优化查询的评估。针对内存中数据结构的查询将是通过LINQ扩展方法进行的直接评估,但针对远程数据库的查询将通过在运行时遍历LINQ表达式、计算T-SQL字符串并将其传递给用于远程执行的SQL服务器。

c++ - boost::proto::is_aggregate 为聚合类型时返回 false

在测试聚合类型时,我尝试使用boost::proto::is_aggregate来检查我创建的类型是否真正聚合。我写了这段代码:#include#includestructIsAggregate{IsAggregate&operator=(IsAggregateconst&rhs){}};intmain(){std::cout()我希望输出为真,因为聚合类型可以定义复制赋值运算符(根据此:WhatareAggregatesandPODsandhow/whyaretheyspecial?)但是输出是错误的。我还在之前的答案中使用了聚合类,它应该返回true却返回了false。这已在Boo

Windows下使用proto问题记录

系列文章目录最近项目中计划使用protoc框架,在这里预研的过程中遇到一些问题,在此做下记录。一、ProtocolBuffers是什么?        协议缓冲区(又名protobuf)是Google的语言中立、平台中立、可扩展的结构化数据序列化机制。您可以在GoogleDevelopers站点上找到protobuf的文档。此README文件包含protobuf安装说明。要安装protobuf,您需要为您选择的编程语言安装协议编译器(用于编译.proto文件)和protobuf运行时。git地址:https://github.com/protocolbuffers/protobuf下载地址:h

c# - protobuf-net 到 .proto 生成枚举冲突?

在C#中,我们在.proto中有命名空间,我们从protobuf-net获得我们没有获得任何命名空间。所以问题是如何使protobuf-net生成(并在内部使用)带有namespace/包的.proto文件。例如,当我们解析所有项目以制作.proto文件以将C++应用程序连接到我们的C#应用程序时,我们得到了大量的enumAnimationCode{None=0;Idle=1;//...}和enumSessionCode{None=0;//...}因此,当我们将统一的项目.proto文件提供给protogen编译器时,我们得到了大量的Enumtype"SessionStateCode"

c# - 如何从 Protocol Buffers .NET 代码生成 .proto 文件?

那么,如果我们的类在文件夹中具有属性,那么如何从中生成.proto标记文件(例如获取C++代码)? 最佳答案 “具有属性的类”是指适合protobuf-net的属性吗?如果是这样,protobuf-net有一个GetProto方法,它将提供基于根类型的模式:stringproto=Serializer.GetProto();尽管有相反的传言,但v2中的这个方法已经重新实现了很长一段时间。 关于c#-如何从ProtocolBuffers.NET代码生成.proto文件?,我们在StackO

c++ - 使用 Boost.Proto 构建 Eigen 表达式模板

我想使用Boost.Proto将嵌入式领域特定语言转换为一系列使用Eigen库实现的矩阵运算。由于效率很重要,我希望proto生成Eigen表达式模板并避免过早评估。我实现了一个可以生成矩阵乘法表达式的简单语法。下面的代码在没有警告的情况下编译(在g++4.8.0和IntelC++2013.3上,使用Boost1.54.0和Eigen3.1.3)并且只要我的表达式只有一个乘法运算就可以工作。一旦我向链中添加更多乘法,它就会崩溃。Valgrind告诉我,这是因为Eigen::GeneralProduct表达式模板之一在求值完成之前被销毁了。我不明白为什么会发生这种情况,或者我可以做些什么