• Программирование

Программирование

Внутренний формат документов MS WORD

Хотя официально фирма Microsoft информацией по этой теме мало с кем делилась, и даже одно время пыталась препятствовать ее распространению, все же нельзя сказать, что эта информация закрыта. Ей на самом деле владеют многие. Без этой информации не существовали бы такие продукты, как антивирусы KAV и DrWEb, переводчик Stylus, пакет 1С:Предприятие и т.п.

Библиотека STL (Standart Template Library)

STL - Standart Template Library. Стандартная библиотека шаблонов. Эта библиотека представляет большой набор данных структур и алгоритмов. Кстати она разработана, что очень приятно Александром Степановым и Менг Ли работающих в Hewlett-Packard Lab, им помогал Д. Л. Муссер из Ренсселэровского политехнического института. STL - это не просто расширение, недавно он был принят комитетом по стантартизации ANSI/ISO в качестве составляющей стандартной библиотеки C++. STL поддерживает как компилятор Borland, для которого его реализовала Rogue Wave Software так и Microsoft. У STL есть несколько версий. Мы с Вами посмотрим стандартную версию для VC++ Microsoft естественно.

Visual C++ для начинающих

Эти главы являются некоторым пособием для тех, кто хочет познакомиться с языком программирования C++ и Visual C++. В связи с тем, что сегодня уровень сложности программного обеспечения очень высок, разработка приложений Windows с использованием только какого-либо языка программирования (например, языка C) значительно затрудняется. Программист должен затратить массу времени на решение стандартных задач по созданию многооконного интерфейса. Реализация технологии связывания и встраивания объектов - OLE - потребует от программиста еще более сложной работы.

Visual C++. Создание элемента управления ActiveX

OLE-элементы управления создаются в проектах специального типа. Каркас приложения подготавливается при помощи инструментального средства MFC ActiveX ControlWizard (OLE ControlWizard), а затем в него добавляется код, определяющий специфику элемента. На втором этапе широко применяется средство ClassWizard.

Утечка памяти

При создании любой программы очень важно правильно и рационально управлять памятью компьютера, которая есть у нас в распоряжении. Прежде всего, отмечу, что при написании программ в С++ используются два типа памяти: СТЕК (stack) и КУЧА (heap).

MFC под колпаком или создание MFC приложения без App Wizard

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

Интерфейс управления устройствами MCI (Media Control Interface)

Интерфейс управления устройствами MCI (Media Control Interface) позволяет программам для Windows работать с различными устройствами мультимедиа которые включают в себя CD-ROM, звуковую карту, проигрыватель видеодисков, даже видеомагнитофон и т.д. При помощи функций MCI мы можем управлять выше перечисленными устройствами, посылая им специальные команды такие как: воспроизведение, остановка, воспроизведение с заданной позиции и т.д.

Visual C++ FAQ

Часто задаваемые вопросы по Visual C++.

Как обнаружить утечку памяти

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

Рисование в DC. Как избежать ошибок.

Данная статья не может претендовать на полноту раскрытия принципов рисования в среде Microsoft Windows, она создана в помощь тем, кто делает свои первые шаги в этой области, с целью обратить внимание на основные моменты и предотвратить возможные (наиболее часто встречающиеся) ошибки. Примеры кода будут представлены в двух вариантах: с использованием WinAPI и MFC.

Использование кода Delphi в C++Builder

Как вы знаете, C++Builder вырос из Delphi. Большая часть того, что есть в C++Builder, пришла напрямую из Delphi. Иногда это может быть разочаровывающим, но, тем не менее, есть некоторые преимущества. Имеется большое количество доступного кода на Delphi, который может быть серьезным подспорьем в разработке приложений на C++Builder. В некоторых случаях этот код может быть использован непосредственно. В других случаях код может быть преобразован для использования в C++Builder. Более того, существуют много компонентов Delphi, для которых не существует их аналогов в C++Builder.

Оптимизация приложений С++Builder в архитектуре клиент/сервер

Одним из главных факторов, влияющих на принятие решения о переносе информационных систем в архитектуру клиент/сервер, является потенциальная возможность повышения производительности работы пользователей, особенно в тех случаях, когда находящиеся в эксплуатации приложения не удовлетворяют требованиям, предъявляемым к скорости обработки данных ввиду их большого объема, а также высокой интенсивности и сложности запросов. Известно, что информационные системы, основанные на архитектуре клиент/сервер, могут обладать существенными преимуществами перед информационными системами, базирующимися на сетевых версиях настольных СУБД, такими, как существенно меньший сетевой трафик, меньшее время обработки запросов, меньшая ресурсоемкость клиентских приложений и меньшие трудозатраты при их разработке.

Создание системных ловушек Windows на Borland C++ Builder

Прежде чем излагать материал я хочу заметить, что цель данной работы - показать как пишутся ловушки Windows вообще. Подробности, по мере возможности, я буду опускать (их можно найти в поставляемой со средой разработке справке).

Borland C++ Builder FAQ

Часто задаваемые вопросы по Borland C++ Builder.

Встраивание Python в C/C++: первая часть

Статья познакомит программистов C/C++ с Python/C API, библиотекой C, помогающей встраивать модули Python в приложения C/C++. Библиотека API предоставляет множество подпрограмм C для инициализации интерпретатора Python, вызова модулей Python и завершения встраивания. Библиотека скомпилирована с Python и распространяется со всеми последними выпусками Python.

Как экспортировать классы C++ из DLL

Назначение этой статьи – показать несколько методов экспорта классов C++ из модуля DLL. Исходный код демонстрирует разные приемы экспорта воображаемого объекта Xyz.

Декомпиляция и вызов функции по адресу

Назначение статьи – показать, как вызвать функции другой программы через вашу собственную. Это руководство будет разбито на серию шагов с общим примером, сопровождаемым применением знаний к настоящей программе.

Win32 против MFC - часть II

В данной части рассматривается оконная процедура в приложении MFC и как команда MFC построила ее для программистов MFC.

Win32 против MFC - Часть I

Данная статья рассматривает архитектуру документ/вид и структуру обертки MFC.

Сборочные файлы в Linux: обзор

Данная статья делает упор на приложениях C и на том, как использовать команду make и makefile(сборочный файл) для их компоновки.

MFC – Множественное наследование и сериализация

Данная статья предлагает некоторые замены для модели MFC для объявлений типов в пространствах имен, использования шаблонов для сериализации, безопасной сериализации с классами множественного наследования, и т.д.