Выполнение сериализации C++

Вы переключаете String, а subArea.StartsWith() возвращает Boolean, поэтому вы не можете этого сделать. Я предлагаю вам сделать это следующим образом:

if (subArea.StartsWith("3*") || subArea.StartsWith("03*"))
    return "123";

switch(subArea)
{
    case "4100":
    case "4101":
    case "4102":
    case "4200":
        return "ABC";
    case "600A":
        return "XWZ";
    default:
        return "ABCXYZ123";
}

Результат будет таким же.

21
задан Constantin 8 December 2008 в 18:25
поделиться

8 ответов

Я настоятельно рекомендовал бы буферы протокола. Они невероятно просты в использовании, предлагают высокую эффективность и заботятся о проблемах как порядок байтов и назад совместимость. Для создания этого, еще более привлекательные, сериализированные данные независимы от языка благодаря многочисленным реализациям языка.

14
ответ дан 29 November 2019 в 21:28
поделиться

ACE и ДАО ACE приходят на ум, но Вам не могли бы понравиться размер и объем его. http://www.cs.wustl.edu/~schmidt/ACE.html

Относительно Вашего запроса о "быстром" и повышении. Это - субъективный термин и не зная Ваших требований (пропускная способность, и т.д.) трудно ответить на это для Вас. Не то, чтобы у меня есть любые сравнительные тесты для материала повышения самого...

Там передают слои, которые можно использовать, но это, вероятно, медленнее, чем повышение. Я сказал бы, что Вы определили хорошее решение в повышении, но я только использовал ACE и другие собственные продукты связи/обмена сообщениями.

4
ответ дан 29 November 2019 в 21:28
поделиться

Также выезд RPC ONC (старый SUN-RPC)

3
ответ дан 29 November 2019 в 21:28
поделиться

Мой предположение - то, что повышение достаточно быстро. Я использовал его в предыдущих проектах сериализировать данные к и от диска, и его производительность даже не подошла как проблема.

Мой ответ здесь переговоры о сериализации в целом, которая может быть полезна Вам, вне которой библиотеки сериализации Вы принимаете решение использовать.

Однако похоже на знание большинства основных горячих точек с сериализацией (строковое кодирование порядка байтов). Вы действительно не учитывали управление версиями и вперед/назад совместимость. Если время не очень важно, я рекомендую писать Ваш собственный код сериализации. Это - поучительный опыт, и уроки, которые Вы извлекаете, неоценимы. Хотя я буду предупреждать Вас, что это будет иметь тенденцию делать, Вы ненавидеть XML основывали протоколы для их чрезмерно увеличенного в размерах.:)

, Какой бы ни путь Вы выбираете удачу со своим проектом.

3
ответ дан 29 November 2019 в 21:28
поделиться

Заблаговременно не оптимизировать. Имейте размеры сначала и оптимизируйте второй.

0
ответ дан 29 November 2019 в 21:28
поделиться

boost.serialization не заботится о строковой кодировке или порядке байтов. Вы будете так же богатым, не использующим его, если это будет иметь значение для Вас.

Вы могли бы хотеть изучить ICE от ZeroC: http://www.zeroc.com/

Это работает подобное CORBA, за исключением того, что это полностью specced и определено компанией. Позитивный аспект - то, что работа реализаций, как предназначено, с тех пор нет всего этого многих. Оборотная сторона - то, что, если Вы используете язык, они не поддерживают, Вам не повезло.

2
ответ дан 29 November 2019 в 21:28
поделиться

Если Вы только отправляете четко определенные определенные структуры данных, то, возможно, необходимо ли смотреть ASN.1 как методология кодирования?

2
ответ дан 29 November 2019 в 21:28
поделиться

Существует также Экономия , который похож на альфа-проект, но используется и разрабатывается Facebook, таким образом, это имеет несколько пользователей его.

Или старый добрый DCE, который был стандартным MS, решил использовать для COM. Его теперь открытый исходный код, 20 лет слишком поздно, но лучше, чем никогда.

1
ответ дан 29 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: