Я собираюсь приступить к проекту по соединению двух программ, одной на 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. Если моя прога на с++ увидит десятичную дробь, что она будет делать?