【发布时间】:2011-10-09 22:19:32
【问题描述】:
需要在托管 c# 和非托管 c++ 之间发送一些数据。经过一番研究 我尝试使用 Protobuf.NET。
我不确定我是否了解 ProtoBuf 的功能...
- 在 Proto 中构建类型定义。我在 c++ 和 c# 项目中都需要这种类型定义
- 使用命令行工具“protogen.exe”从类型定义中获取 .cs 文件和 .cpp、.h
- 将 .cs 文件复制到我的 c# 项目中,并将 .cpp、.h 复制到我的 c++ 解决方案中。
似乎我很愚蠢地解决了这个问题。这是我的问题和疑问。
- 是否可以在 c# 中定义类型以在 c++ 中生成文件?
- 尝试使用命令行工具 protogen.exe 处理以下文件
test1.proto
using ProtoBuf; namespace ProtocolBuffers { [ProtoContract] class Person { [ProtoMember(1)] public int Id {get;set;} [ProtoMember(2)] public string Name { get; set; } } }
test2.proto
message Person {
required int32 id = 1;
required string name = 2;
optional string email = 3;
}
没有什么对我有用。真的什么都试过了。我将原始文件放入 命令行目录,尝试了每个选项来设置目录。如何轻松构建它们? 第二个文件正在使用 c++ 的标准 proto 命令行工具,但我也需要它用于 c#。真的需要你的帮助。
【问题讨论】:
标签: c# c++ serialization protobuf-net