Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 323
от 06.08.2003, 10:30

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 979
Отправлено ответов: 2205
Активность: 225.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Avl2k
Статус: Профессиональный
Общий рейтинг: 125.73
[Подробней >>]
Marouder
Статус: Опытный
Общий рейтинг: 135
URL: Первый Хабаровский Форум
Телефон: (4212) 21-93-65
[Подробней >>]
Bobs
Статус: Профессиональный
Общий рейтинг: 116.39
[Подробней >>]
 
Morgion
Статус: Доверительный
Общий рейтинг: 108.88
[Подробней >>]
Yuri Gordienko
Статус: Профессиональный
Общий рейтинг: 117.57
[Подробней >>]
Vdr
Статус: Опытный
Общий рейтинг: 112.29
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 971. Где можно достать help к Microsoft Visual C++ 6.0? Типа описания всех модулей и входящих в них функц... (ответов: 3)
Вопрос № 972. Это я опять с вопросом о выборе Си-комплекта. Прокоментируйте эти строки Рошала. ----Cut from WhatsN... (ответов: 2)
Вопрос № 973. Здраствуйте экспкрты! У меня есть большой энцеклопедический словарь в *.txt я хочу написать поискови... (ответов: 3)
Вопрос № 974. Народ короче налобал свой FlaSH ПЛЕЙЕР, теперь надо сделать такую фишку: чтобы файл *.swf в моем пл... (ответов: 3)

Вопросов: 4, ответов: 11


 Вопрос № 971

Где можно достать help к Microsoft Visual C++ 6.0?
Типа описания всех модулей и входящих в них функций.
А то у меня он[C++] урезанный попался и я ещё его не так
хорошо знаю.
И ещё почему используют, например такую конструкцию:
while (!GetMessage(...))
{
TranslateMessage(...);
DispatchM essage(...);
}
Казалось бы перед GetMessage нужно использовать PeekMessage для определения - а есть ли вообще сообщения?
(или WaitMessage). Или GetMessage, тоже ждёт сообщения, а только потом берёт его?
И почему в качестве параметра HWND используют NULL, а не заголовок собственного окна?



Вопрос отправлен: 02.08.2003, 10:46
Отправитель: Xych

[Следующий вопрос >>] [Список вопросов]

Отвечает Avl2k

Доброе время суток, Xych!
1. Help к MSVC - это MSDN . Целиком он весит больше 1 Гб, так что выкачивать его бесполезно, проще купить на дисках. Кстати, что имеется ввиду под модулями? :)
2. Да, функция GetMessage ожидает, пока в очереди не появится сообщение, поэтому ничего определять не надо.
Эта конструкция - цикл для thread'а, имеющего пользовательский интерфейс, поэтому в качестве параметра GetMessage передается NULL, чтобы получать сообщения не конкретного окна, а всех окон, принадлежащих нити. Кстати, писать while( GetMessage(NULL) ) не рекомендуется, потому что GetMessage возвращает BOOL с тремя состояниями :) (-1 - ошибка, 0 - получено WM_QUIT, не ноль - все остальное).
С уважением, Avl2k.

Ответ отправлен: 04.08.2003, 11:29
Отправитель: Avl2k


Отвечает Marouder

Здравствуйте, Xych!
1. В MSDN порыться придется. У меня вот тоже урезанный.
2. Да, GetMessage тоже ждет сообщения.
3. Используют NULL, чтобы можно было обработать также сообщения от дочерних окон, а не только от главного.

Ответ отправлен: 02.08.2003, 11:40
Отправитель: Marouder


Отвечает Bobs

Здравствуйте, Xych!
Ищите в продаже диски msdn или идите на msdn.microsoft.com

Ответ отправлен: 02.08.2003, 12:39
Отправитель: Bobs


 Вопрос № 972

Это я опять с вопросом о выборе Си-комплекта.
Прокоментируйте эти строки Рошала.
----Cut from WhatsNew.Rus.txt----
[!] Для компиляции FAR Manager использовался Borland C/C++ 5.02. MSVC 6 SP4
не оправдал ожиданий (FAR 1.70 beta 1) и добавил тормозов (работа с
выделением памяти для мелкими объектов).
---------------------------------



Вопрос отправлен: 02.08.2003, 11:34
Отправитель: KODer

[Следующий вопрос >>] [Список вопросов]

Отвечает Morgion

Здравствуйте, KODer!
Не знаю, что на это сказать, но на практике компилятор Borland C оказывается всегда тормознее Visual С, хотя на реальных тестах самимы быстрыми являются gcc и intel c compliler.

Ответ отправлен: 03.08.2003, 13:16
Отправитель: Morgion


Отвечает Avl2k

Приветствую Вас, KODer!
В MSVC 6 есть отдельный механизм small block heap, причем по умолчанию он выключен, т.е. все выделения памяти производятся через API функции HeapAlloc/HeapFree. Разрешается посредством установки порога функцией _set_sbh_threshold. Измерения показывают, что его включение ускоряет выделение памяти для мелких объектов (<= порога) примерно на 30%.
Возможно, у Рошала в проекте он был выключен, либо в Borland C++ реализован более эффективный алгоритм выделения памяти для таких объектов.
С уважением, Avl2k.

Ответ отправлен: 04.08.2003, 12:35
Отправитель: Avl2k


 Вопрос № 973

Здраствуйте экспкрты!
У меня есть большой энцеклопедический словарь
в *.txt я хочу написать поисковик для него. Подскажите
как это лучше всего сделать что бы побыстрее работало
некоторые файлы до 3Mb доходят.(файлы по буквам разбиты)



Вопрос отправлен: 02.08.2003, 17:02
Отправитель: Ilu (ilua_m@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Yuri Gordienko

Приветствую Вас, Ilu!
1.Чтобы особо не извращаться рекомендую загнать словарь в
базу данных и работать далее именно с ней.
Получится намного проще.
2.Если все-же есть желание малость извратиться, то советую
поюзать std::multiset.
Успехов


Ответ отправлен: 04.08.2003, 15:27
Отправитель: Yuri Gordienko


Отвечает Vdr

Приветствую Вас, Ilu!
1 вар) Можно все тексты загрузить в память, чем ты обеспечишь меньшее кол-во обращений к диску.
2 вар) При запуске проги пробегай все текстовики и строй деревья поиска (сохраняй например слова и местонахождение описалова в файле или первые три-четыре буквы)
Второй сложнее но быстрее и интереснее
Удачи!

Ответ отправлен: 04.08.2003, 13:47
Отправитель: Vdr


Отвечает Avl2k

Приветствую Вас, Ilu!
Во-первых, надо выделить из статей ключевые слова, по которым будет производится поиск. После этого надо проиндексировать файлы по этим словам (т.е. построить соответствие <ключ>-<статья>), а .txt-файлы - по статьям (<статья>-<файл+положение в файле>). После этого поиск будет быстрым: по ключевому слову находим статью, а по статье сразу можем определить позицию в нужном .txt-файле. Кстати, обычно такие задачи решаются с помошью СУБД.
С уважением, Avl2k.

Ответ отправлен: 04.08.2003, 12:45
Отправитель: Avl2k


 Вопрос № 974

Народ короче налобал свой FlaSH ПЛЕЙЕР, теперь надо сделать такую фишку:
чтобы файл *.swf в моем плейере МОНА было сохранять как *.exe ,т.е. *.swf +мой плейер. В общем как в стандартном Макромедиавском плейере (Опция Create Projedt),после чего *.swf становится *.exe. Если можно, то киньте примерно как сделать!!!


Приложение:


Вопрос отправлен: 02.08.2003, 19:44
Отправитель: Kirya (kiruhaz@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Marouder

Добрый день, Kirya!
Можно сохранять .swf в ресурсах плеера.

Ответ отправлен: 03.08.2003, 08:36
Отправитель: Marouder


Отвечает Bobs

Добрый день, Kirya!
Товарисч, если Вы полностью сами сделали flash плеер, то вы должны сами знать ответ на этот вопрос. А если плеер работает на activeX - смею заверить, без установленного flash он работать не будет ;)

Ответ отправлен: 02.08.2003, 21:29
Отправитель: Bobs


Отвечает Avl2k

Доброе время суток, Kirya!
Проще всего было бы просто взять готовый exe части Вашего плеера и положить .swf как бинарные данные в его ресурсы ф-цией UpdateResource. Проблема в том, что UpdateResource не поддерживется на платформах 95/98/Me :( Таким образом, Вам остается только учить формат PE и делать все ручками...
С уважением, Avl2k.


Ответ отправлен: 04.08.2003, 10:23
Отправитель: Avl2k



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (36)
C / C++ (24)
Perl (3)
Builder / Delphi (19)
Pascal (23)
Basic / VBA (12)
Java / JavaScript (12)
PHP (10)
Криптография (9)
WinAPI (14)
Пользователю
Windows 95/98/Me (48)
Windows NT/2000/XP (54)
"Железо" (42)
Поиск информации (28)
Администратору
Windows NT/2000/XP (29)
Linux / Unix (11)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное