Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sizeof возвращает большее значение, чем есть 
V
    Опции темы
konshyn
Дата 22.10.2013, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(azesmcar @  22.10.2013,  12:04 Найти цитируемый пост)
boost serialization 

Сейчас гляну. Спасибо
А есть еще boost:asio
Может знаете, можно ли с его помощтью создавать пакетные сокеты, а то я не нашел


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
Alexeis
Дата 22.10.2013, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Да ну, не может быть. Есть же например, правило вызова конструкторов для полей-членов в конструкторе класса носителя, не зря же его привязывают к последовательности определения полей. Сами типы данных могут отличаться. Например в системе с обратным порядком байт, 32х битный int будет иметь иное представление в памяти, но очередность должна соблюдаться, также как, например очередность определения виртуальных функций. Она задает очередность записей в таблице VMT.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM ICQ Skype   Вверх
azesmcar
Дата 22.10.2013, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата(Alexeis @  22.10.2013,  16:27 Найти цитируемый пост)
ну, не может быть. Есть же например, правило вызова конструкторов для полей-членов в конструкторе класса носителя, не зря же его привязывают к последовательности определения полей

Порядок полей остается, но гарантии на расположение нет
Цитата

Nonstatic data members of a (non-union) class declared without an intervening access-specifier are allocated so that later members have higher addresses within a class object. The order of allocation of nonstatic data members separated by an access-specifier is unspecified (11.1)"

PM   Вверх
feodorv
Дата 22.10.2013, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 1
Всего: 45



Цитата(konshyn @  22.10.2013,  10:47 Найти цитируемый пост)
есть структура

Честно говоря, так и просится оптимизация структуры
Код
struct add_to_packet {
    __u16    size_packet;
    __u8    numbers;
    __u8    num;
    __u32    id;
};

Но если структура уже кем-то задана, то сериализация/десериализация - самое оно. Можно попробовать работать с одной переменной __u64 вместо структуры, но это не путь C++ джедая)))


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Dem_max
Дата 23.10.2013, 04:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: нет
Всего: 39



Цитата

Некоторые операционные системы просто не работают с невыравненными данными.


Можно узнать какие ????


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Alexeis
Дата 23.10.2013, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Цитата(Dem_max @  23.10.2013,  05:18 Найти цитируемый пост)
Можно узнать какие ????

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


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
konshyn
Дата 23.10.2013, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(feodorv @  22.10.2013,  23:49 Найти цитируемый пост)
Честно говоря, так и просится оптимизация структуры


Можно, но так структура отражает суть, для чего она и где что значит.


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
feodorv
Дата 23.10.2013, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 1
Всего: 45



Цитата(konshyn @  23.10.2013,  10:00 Найти цитируемый пост)
Можно, но так структура отражает суть, для чего она и где что значит. 

В данном случае 
Цитата(konshyn @  22.10.2013,  11:46 Найти цитируемый пост)
чтобы первые восемь байт моего пакета имели эти данные

выравнивание важнее отражаемой сути. Да и что так, что этак, суть никуда не делась...



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
konshyn
Дата 24.10.2013, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(feodorv @  23.10.2013,  19:46 Найти цитируемый пост)
выравнивание важнее отражаемой сути. Да и что так, что этак, суть никуда не делась...

я тоже так подумал и изменил структуру(добавил поля) и порядок следования полей.

Это сообщение отредактировал(а) konshyn - 28.11.2013, 12:18


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.