Буферы протокола, заставить C# говорить с C++: проблемы типов и схемы

Я собираюсь приступить к проекту по соединению двух программ, одной на c#, другой на c++. У меня уже есть работающая программа на c#, которая может общаться с другими версиями самой себя. Прежде чем начать работу с версией на c++, я подумал о некоторых проблемах:

1) Я использую protobuf-net v1. Я так понимаю, что файлы .proto из сериализатора - это именно то, что требуется в качестве шаблонов для версии на c++? Поиск в гугле упоминает что-то о pascal casing, но я понятия не имею, важно ли это.

2) Что мне делать, если один из типов .NET не имеет прямого аналога в c++? Что если у меня десятичная дробь или словарь? Нужно ли мне как-то модифицировать файлы .proto и втиснуть данные в другую форму? (Я изучу файлы и попробую разобраться)

3) Есть ли еще какие-нибудь проблемы, о которых люди могут подумать? Бинарные форматы и тому подобное?

EDIT Я посмотрел на один из файлов proto. Похоже, что специфические для .NET вещи помечены тегами, например bcl.DateTime или bcl.Decimal. Подтипы включены в определения proto. Однако я не уверен, что делать с типами bcl. Если моя прога на с++ увидит десятичную дробь, что она будет делать?

5
задан Carlos 29 January 2012 в 16:49
поделиться