|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.11.2012, 17:23 | #11 | ||
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Цитата:
Цитата:
Последний раз редактировалось Артэс; 02.11.2012 в 17:25. |
||
02.11.2012, 17:46 | #12 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
1) Адрес начала массива в регистр (если мы работаем с массивом интенсивно, он может быть уже там), 2) Старший индекс в регистр, 3) Домножить старший индекс на младший размер, 4) Прибавить младший индекс, 5) Переслать в некоторый регистр содержимое ячейки памяти, адресуемой адресом начала массива, модифицированным суммарным индексом Всё, имеем конкретный символ конкретной строки; скорость, как можно видеть, не зависит от размера массива. |
|
02.11.2012, 22:22 | #13 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Понятно. Тогда лучше выделить массив и с ним работать. В качестве экономии, размеры для сообщений можно уменьшить и до 512 байт. Длинные сообщения редки, и с ними можно работать отдельно.
Благодарю всех за ответы на мои вопросы |
03.11.2012, 04:46 | #14 |
Форумчанин
Регистрация: 05.04.2012
Сообщений: 134
|
Для таких случаев есть queue(FIFO) первым пришёл первым вышел на базе односвязного списка, ну на счёт полной реализации сообщений тут нужно больше чем плоский массив байт, здесь нужны приоритеты ведь каждое сообщение имеет свой приоритет.
|
03.11.2012, 12:56 | #15 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Да в принципе никакого приоритета нет. Обычная очередь, куда помещаются сообщения, а сетевой движок, определенное раз в секунду, проверяет эту очередь и посылает из нее сообщения клиенту по порядку.
|
03.11.2012, 14:22 | #16 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Кстати, еще такой вопросик. Кроме массива с сообщениями, мне еще надо хранить размер каждого сообщения. Я могу сделать так:
Код:
Код:
Или при поиске, что умножать на второй элемент (100) в случае char msg[512][100], или на элемент массива структуры, примерно одинаково? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
освобождение памяти | Homa_1983 | Общие вопросы C/C++ | 7 | 31.08.2013 14:36 |
Освобождение памяти | Seran4ek | Общие вопросы Delphi | 7 | 21.12.2009 18:07 |
Освобождение памяти | PUH | Помощь студентам | 1 | 22.11.2009 17:14 |
Освобождение памяти | VadEr | Общие вопросы Delphi | 2 | 17.04.2009 22:23 |
Полиморфизм и выделение (освобождение) памяти | Scogan | Общие вопросы C/C++ | 9 | 13.04.2009 07:57 |