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

Инвестиции: Вопрос-Ответ

  Все выпуски  

C/C++ Вопрос-Ответ Выпуск No36


C/C++ Вопрос-Ответ

Выпуск      : 36
Подписчиков : 3321
Cайт        : CodeGuru.ru
Архив       : C/C++ Вопрос-Ответ (архив)
В этом выпуске
Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео

Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео

От ведущего

Здравствуйте уважаемые подписчики !

Сегодня перед вами еще один выпуск рассылки "C/C++ Вопрос-Ответ".

Признаю, что, к сожалению, рассылка не выходила очень долго. Виной всему - катастрофическая нехватка времени. Дело в том, что ваш покорный слуга, ведущий данной рассылки пишет книгу, посвященную программированию на JavaScript. Книга уже почти готова, осталось пара последних, самых сложных глав. Да, к сожалению, работая над книгой я совсем забыл о рассылке. Однако очень скоро, обещаю, она будет выходить гораздо более часто и периодично.

Напоминаю, что, как обычно, вы можете отправить свои пожелания (замечания, предложения, сообщения об ошибках) по поводу рассылки и сайта по этому адресу.

Если вы хотите создать и вести какой либо раздел в этой рассылке - также пишите мне.

И, как всегда, вы можете задать свои вопросы по программированию на сайте в форуме.
Или обсудить их в дискуссионном листе "Программирование. форум !!!".

Многим также может быть интересна рассылка: Visual С++ - расширенное программирование, где можно прочитать описания нестандартных приемов программирования с помощъю библиотеки MFC - 'трюков', 'хаков', недокументированных функций, а также рассылка Программирование на JavaScript, в которой публикуются и описываются оригинальные скрипты, решения многих практических задач, готовые для применения на сайте.

С уважением, Вахтуров Виктор.

Подписчикам

Чтобы заранее разрешить возможные недоразумения, прошу Вас помнить, что вопросы публикуются в рассылке только один раз. Поэтому, если Вам не ответили в этом выпуске, или ваш вопрос не был опубликован, пришлите его еще раз. Не стоит отвечать на вопрос, который был задан в предыдущем выпуске (за исключением случая, когда он снова опубликован в этом).

Для того, чтобы задать свой вопрос, пришлите письмо, кликнув по этой ссылке.
Для того, чтобы ответить на вопрос, надо кликнуть по ссылке "ответить", расположенной под текстом вопроса.

Небольшое примечание. Господа, если Вы хотите, чтобы Ваш e-mail был опубликован в рассылке, специально и явно укажите это в письме. Иначе e-mail адреса, указанные в теле Вашего письма в рассылке опубликованы не будут.

Вопросы

Для того, чтобы задать свой вопрос, кликните этой ссылке (вопрос будет опубликован в следующем номере).
Вы можете задавать любые вопросы, касающиеся программирования на языке C и C++. Это могут быть вопросы, касающиеся как конструкций языка, применения библиотек классов, шаблонов (таких как MFC или STL), использования компиляторов, так и самой философии программирования на C или C++. Здесь нет ограничений - спрашивайте и получайте ответы.

Вопрос № 136 ( Георгий )


Доброго времени дня!

Я пишу сейчас одну программку с использованием OLE Automation, и
кое-какие проблемы никак не могу решить. Конкретней - очистку памяти.
Проблемы возникают в следующих случаях:
1. Допустим, у какого-то объекта есть свойство типа BSTR. Я так понял,
если сделать просто
return CString("Lalala").AllocSysString;
То будет все нормально? Т.е. движок сценариев будет сам нормально
чистить память?
2. Использую я Rational Purify, и он выдает кучу нечищенной памяти.
Два основных места выделения - вызов CoInitialize(0) (потом я
CoUninitialize() вызываю) и CoCreateInstance() (Release() я тоже
вызываю). Облазил весь MSDN, ничего не могу найти.. Что не так?

Пожалуй, основное все. Помогите, кто может..

С уважением, Георгий

Ответить на вопрос

Вопрос № 137 ( Sergey Wedensky )

Здравствуйте!

Не подскажет ли кто, как отслеживать степень загруженности процессора
заданным процессом (ну или потоком, хотя бы, просуммировать сам могу :)?

Очень надо для организации динамического распределения нагрузки на
экземпляры масштабируемого DCOM-сервера.

В MSDN что-то очень мудреное написано про WMI...
Есть еще библиотека PDH. Но там счетчик типа
"\Процесс(MyApp#0)\% загруженности процессора"
выдает 100%, если, к примеру, запустить поток, который безостановочно
что-то делает. Но это явно не то. Если этот процесс 1 и кроме него
ничего (ну, почти) не грузит проц, то должно быть около 50% (остальные 50 -
"бездействие системы"), если их запустить 2, то 33%...

Если кто знает, как получить именно процент времени процессора,
затрачиваемого на обработку команд потоков Вашего процесса по
отношению к общему (включая бездействие системы, другие процессы и
т.д.), буду благодарен любой информации.

Ответить на вопрос

Вопрос № 138 ( Николай Смирнов )

Такой вот вопрос проект написанный на C++Builder 6
был перенесен на другую машину, и при попытке
откомпилировать проект заново Builder "ругается" на отсутствующие файлы
библиотек RXLib и т.п. хотя в данном проекте ни один из компонентов данных
библиотек не используется. Упоминания о них в тексте программы (*.cpp;
*.h -файлах) не нашел. Вопрос где можно в проекте посмотреть и удалить
упоминание о данных компонентах?
P.S.: В настройках проекта на закладке "Packages" в строке "Runtime
packages" вроде все упоминания удалил но безрезультатно...

Заранее благодарю, Спасибо!
Смирнов Николай

Ответить на вопрос

Вопрос № 139 ( aduard_ageev )

Здравствуйте!
Что значит,если компоновщик выдает следующую ошибку:
Unresolved external'_Form1'referenced from C:\PROGRAM
FILES\BORLAND\CBUILDER6\PROJECTS\PROJECT1.OBJ?
Что делать?

Ответить на вопрос

Ответы

Ниже приведены вопросы предыдущего выпуска и ответы на них.

Вопрос № 132 ( Pragmar )

Здравствуйте. У меня такой вопрос: как работать с файлами jpeg через MS VC++ 6.0 ?
Давно бьюсь над этой проблемой -  вроде стандартной поддержки не наблюдается,
рекомендовали сделать свой класс, но нормально работать я его так и не заставил...
Буду очень благодарен, если приведете исходник, но не откажусь и от ссылки на умный ресурс.

Ответ ( Sergey Wedensky )

А под какую платформу пишете? В XP/2000 и далее в поставку системы
входит библиотека GDI+, для более ранних версий ОС ее можно без
ограничений распространять со своим приложением (весит около 1.5 Мб).
Там есть классы Image, Bitmap, и т.д. Позволяет читать, слхранять,
выуживать и внедрять EXIF-информацию. В самой библиотеке есть
поддержка кодеков JPEG, BMP, GIF, TIF, PNG, можно добавлять свои
кодеки. Могу подкинуть пример использования. Пишите s_w@rambler.ru.
Сергей Введенский.

Ответ ( dusha )

> Здравствуйте. У меня такой вопрос: как работать с файлами jpeg через MS VC++ 6.0 ?

Салют Єл.
Смотри тут:

Картинки в JPEG-формате понимает libjpeg. Последние версии можно найти по этому адресу:
ftp://ftp.uu.net/graphics/jpeg/. Моя версия библиотеки значится под номером 6 бета, и датируется 27 марта 1998 г. Страница этой библиотеки здесь: http://www.ijg.org/. (GameDev.ru)

Ести еще интерестная вещь SDL в ней есть подержка графических файлов разных форматов, поищи ijl ( Intel jpg library).

hapy hack

Ответ ( Igor Maximov )

Hello q,

http://www.sources.ru/cpp/graphics/graph_converter.shtml
http://subscribe.ru/archive/comp.soft.prog.qandacpp/200411/26162734.html

Ответ ( Maxim Zhigadlo )

Здравствуйте!

Можно использовать GDI+

Вырезка из MSDN:
Loading and Displaying Bitmaps
--------------------------------------------------------------------------------
To display a raster image (bitmap) on the screen, you need an Image object and a Graphics object. Pass the name of a file (or a pointer to a stream) to an Image constructor. After you have created an Image object, pass the address of that Image object to the DrawImage method of a Graphics object.
The following example creates an Image object from a JPEG file and then draws the image with its upper-left corner at (60, 10):

Image image(L"Grapes.jpg");
graphics.DrawImage(&image, 60, 10);

Поддерживаемые форматы:
BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, and EMF.

Будут вопросы, пиши: Admin@Lonely-Dragon.com

Ответ ( Red Devil )

www.codeproject.com - класс CxImage для Visual C++, под Windows
естественно.

Для любых платформ.
GFL SDK - хорошая целая библиотека, поддерживает большое количество
форматов. (мне понравилась)
libjpg - еще одна библиотека. (не пользовался), но говорят очень
быстродействующая.
Найти сможешь вбив названия в гугл.

Все они freeware, естественно.
Вопрос № 133 ( Arsa )

Приветствую !

Мой вопрос наверно несколько шире чем просто вопрос по C++, однако очень хочется задать его здесь.

Вопрос такой.
Существует ряд программ, определяющих занятость/незанятость интернет-доменов и выводящих по ним информацию (кто владелец, когда зарегестрирован). Например, программе дается имя: microsoft.com, а она выводит по нему кучу информации.
Хотелось бы узнать принцип работы таких программ. Откуда они берут сведения по доменам ?

Буду благодарен любой информации - ссылкам на доки, MSDN, примеры кода.

Ответ ( Evgenij )

Это тебе надо бы про днс-сервера почитать (как к ним обращаться). И
среди стандартных прог типа пинга тоже можно что-то полезное найти.
Вопрос № 134 ( Arsa )

Приветствую !

Мой второй вопрос несколько созвучен с первым.
Мне хотелось бы написать свой DNS-клиент, то есть программу, узнающую по имени домена IP адрес сервера, на котором находится сайт, на который мы попадаем при наборе этого домена в браузере.
Мне хочется узнавать IP адреса в больших количествах (по списку).

Ответ ( rt-yaschik )

MSDN
GetAddressByName
Вопрос № 135 ( Arsa )

Приветствую !

Наконец, третий вопрос :)))
Не подскажет ли кто как работает команда ping ?
То есть, если я знаю IP адрес некоторого компа, как мне его попинговать из своей программы ?
На каком порту надо открыть сокет, и что послать, и каков должен быть ответ при пинге ?

Короче, как обычно, интересна любая информация по этому вопросу ! :)

Ответ ( Evgenij )

Есть программа пинг. "ping /?" расскажет тебе все что он может.
Оказывается, зря я ответ на прошлый вопрос посылал :)
Есть ли такая команда - не знаю. Многие такие проги запускают просто.
И парсят ответ. Это часто проще, чем найти описание использования
нужных функций. Windows/System32 содержит огромное количество подобных
прог.

Ответ ( Red Devil )

Почитай книгу М.Фленова "С++ глазами хакера", там это описано
(пингование я имею в виду). Целая глава с исходным кодом и пояснениями,
поэтому копировать ее этом ответе не вижу смысла.

Бегать за книгой в магазин не надо. Почти на каждом сайте с ебуками есть.
Анонсы книг по C/C++
Операционные системы. Разработка и реализация (+ CD-ROM)
Операционные системы. Разработка и реализация (+ CD-ROM)

Автор: Э. Таненбаум, А. Вудхалл

Второе издание классического труда Эндрю Таненбаума "Operating Systems: Design and Implementation" - это единственный в своем роде учебник, в котором успешно сочетаются теория и практика построения операционных систем. В ней подробно описываются процессы и межпроцессное взаимодействие, семафоры, мониторы, передача сообщений, алгоритмы работы планировщика, ввод/вывод, разрешение тупиковых ситуаций, драйверы устройств, алгоритмы управления памятью, разработка файловых систем, а также затрагиваются вопросы безопасности и защиты данных. Но, в то же время, обсуждается и конкретная, UNIX-совместимая операционная система MINIX и приводится ее исходный код (его вы найдете на компакт-диске). Это позволяет не только изучать основополагающие принципы, но и наблюдать, как они применяются в реальных операционных системах.

Страница книги на Озоне
Практическая криптография. Алгоритмы и их программирование (+ CD-ROM)
Практическая криптография. Алгоритмы и их программирование (+ CD-ROM)

Автор: А. В. Аграновский, Р. А. Хади

Эта книга предназначена прежде всего для тех, кто интересуется не только теоретическими аспектами криптологии, но и практическими реализациями алгоритмов криптографии и криптоанализа. В книге уделено очень много внимания вопросам компьютерного криптоанализа и логике программирования защищенных криптосистем. Книга изложена таким образом, что она будет полезной как для неподготовленного читателя, так и для высококвалифицированного специалиста, желающего расширить свой кругозор и по-новому взглянуть на криптографический аспект систем информационной защиты. Речь в книге не идет о каких-то конкретных программных продуктах, наоборот - прочтя книгу, подготовленный читатель будет способен самостоятельно создавать программное обеспечение, содержащее криптографические алгоритмы.

Кроме стандартных и популярных средств одноключевого шифрования, в книге рассматриваются нестандартные алгоритмы, которые могут использоваться на практике, оригинальные и необычные подходы к шифрованию и криптоанализу, что может значительно расширить кругозор даже опытного специалиста. Тем, кто интересуется созданием собственных шифросистем, будут также интересны и полезны многочисленные исторические справки о создании блочных систем шифрования.

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

Страница книги на Озоне
Рассылки и дискуссионные листы компьютерной тематики
Рассылки
Программирование на JavaScript

Все аспекты программирования на JavaScript - нестандартные приемы, ОРИГИНАЛЬНЫЕ скрипты, авторские статьи и наработки. "JavaScript solutions" - в каждом выпуске готовый к применению ИНТЕРЕСНЫЙ скрипт (исходный код с комментариями).

Дискуссионные листы
Программирование. Форум !!!

Самый популярный дискуссионный лист по программированию на subscribe.ru, существующий с момента открытия сервиса дискуссионных листов !

Задайте здесь любой вопрос по программированию - и Вы получите ответ. Участвуйте в оживленных дискуссиях, обсуждайте интересные темы. Давайте ответы сами. Ведь это форум !!! Здесь просто интересно ! Присоединяйтесь !

Вебстроительство. Форум !!!

В дискуссионном листе ведется обсуждение различных аспектов создания сайтов - написание скриптов, использование, настройка портальных движков, и многое другое. Присоединяйтесь !

Поисковые системы. Форум !!!

Этот дискуссионный лист посвящен обсуждению поиковых систем, методов индексации сайтов поисковиками, способам оптимизации сайта под поисковые системы.

Хостинг. Обзоры и обсуждения платного и бесплатного хостинга.

Вы ищете хостинг (платный, бесплатный) ? Хотите спросить совета в выборе ? Можете обсудить это здесь. Поделитесь советом, если знаете. Или узнайте больше. Все о хостинге.


Всего доброго. До встречи в следующем номере.

В избранное