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