|
Язык С представляет программисту очень ограниченные возможности обработки исключений, возникших при работе программы. В этом отношении С++ намного развитие С. Здесь у программиста существенно большие возможности по непосредственной обработке исключений. |
|
Существует устойчивое мнение, что COM - чрезвычайно сложная технология и с ней лучше не связываться. В реальности же все не так плохо. Конечно, она не позволяет писать простейшие приложения программистам без какой-либо подготовки как C# или даже C++, но нас ведь это ограничение не касается? |
|
Вашему вниманию предлагается статья, посвященная переносу программного кода 32-битных приложений на 64-битные системы. Статья составлена для программистов, использующих Си++, но может быть полезна всем, кто сталкивается с переносом приложений на другие платформы. |
|
Среди общего множества статей и библиотек в интернете я еще не встречал ни одного удобного и наглядного средства, которое бы позволяло перехватывать, и управлять входными и выходными параметрами, любого типа функций, как импортируемые функции в приложение, так и функции находящиеся внутри исполняемого процесса. Проект Fluke как раз заполняет собой это упущение. Его исполнение разбито на три части, и каждая строго отвечает за свой функционал. |
|
Сегодня, наверное, уже не осталось человека, который бы не программировал под Windows с прямым использованием ее API-функций, а не функций библиотеки компиляторов. Действительно, Windows 2000 предлагает столь внушительный набор экспортирумых функций, что их с избытком хватит для решения широкого круга задач. Другое преимущество заключается в том, что вызов API-функций позволяет взаимодействовать с Windows напрямую, минуя стандартные библиотеки компилятора. Но возникают несколько вопросов, например, откуда экспортируются функции API и как они реализованы. Данная статья поможет пролить свет на данные вопросы. |
|
Ни одно профессиональное Windows-приложение не обходится без обращения к центальной базе данных всей системы - системному реестру Windows (registry). Между тем в интернете и сопутствующих изданиях достаточно мало рассказывается о Win32-функциях, которые позволяют взаимодействовать с системным реестром Windows и программисту нужно обращаться к Platform SDK, которая ко всему прочему на английском языке, что для некоторых является камнем преткновения. Данная статья содержит описание основных функций и положений программирования реестра на C++. |
|
OpenGL и Direct3D - две основные на сегодняшний день аппаратно-ускоряемые библиотеки для создания компьютерной трехмерной графики. Перед каждым начинающим 3D-программистом встает вопрос: какой из двух вариантов API выбрать? Вопрос этот совсем не прост, собственного опыта для принятия осознанного решения, как правило, не хватает. И хотя на форумах такие темы обсуждаются регулярно, почерпнуть из них информацию порой непросто, поскольку "советы бывалых" обычно основываются на личных предпочтениях. |
|
На сегодняшний день существует две "стандартные" библиотеки работы с 3D графикой. Microsoft DirectX и Silicon Graphics OpenGL. Это высокоуровневые, аппаратно независимые средства. С одной стороны они предоставляют доступ к 3D ускорению, а с другой не привязывают к конкретной железке. Конечно же жалко неправильно их использовать, искусственно понижая производительность видео карты. В связи с этим хочу представить перевод официального руководства nVidia по программированию графики с использованием графики DirectX. |
|
Итак, уважаемые сайтостроители, борцы с энтропией отечественного Веба! Хочу с вами сегодня поделиться некоторыми соображениями по поводу облегчения нашей с вами жизни. Неотъемлемым свойством каждой веб-страницы является наличие на ней всякого рода ссылок. Ведь HTML — это язык гипертекстовой разметки текста. |
|
Попробуем определить, кто в чем силен среди компиляторов для платформы Wintel (x86-процессор + Win32 ОС). В забеге принимают участие компиляторы Microsoft Visual C++ 6.0, Intel C++ Compiler 4.5, Borland Builder 6.0, MinGW (портированный gcc) 3.2. |
|
В этой статье будут рассмотрены основные моменты многозадачной работы в Windows: создание и завершение процессов, синхронизация и межпроцессное общение. |
|
Для того, чтобы передать сокет от одного процесса другому, можно воспользоваться функцией WSADuplicateSocket() из Winsock. |
|
В этой статье описываются принципы и решения, применяемые при проектировании приложений, которые будут использовать внешние, динамически подключаемые, модули. Эта статья более ориентирована на тех, кто хочет использовать механизмы подключения/отключения функциональности приложения, наподобии механизма Aobe Photoshop или Far, а не просто многократного использования кода в разных приложениях. |
|
В этом разделе вы создадите два новых приложения OLE. Первое - простая программа-сервер OLE, второе - пример простого контейнера OLE. Эти программы предназначены для демонстрации минимальных затрат программирования, необходимых для создания приложений OLE 2. В любом случае, для создания оболочки программы следует воспользоваться приложением AppExpert. Сначала необходимо сгенерировать основу приложения в AppExpert, затем модифицировать созданные файлы для создания законченного рабочего примера. |
|
Было время, когда мне нужно было написать простейшей одноконнектовый прокси, даже без интерфейса, но состоящий из двух половинок, которые соединяются протоколом SPX, а не TCP. Я столкнулся с тем, что в том небольшом количестве примеров работы с WinSock, что у меня были, было столько ненужного мне мусора, что это затрудняло понимание самого принципа. А примеров организации многоконнектовости у меня вообще не было. Поэтому в данной статье я постараюсь как можно проще объяснить принцип работы прокси, но я не буду объяснять все с нуля. |
|
Что бы начать изучать C++ сначала создадим простое консольное приложение. Для этого запустите Visual C++. Выберите 'New' в меню 'File'. Проверте, что бы в диалоговой панеле 'New' была выбрана закладка 'Projects'. В списке типов проектов выберите 'Win32 Console Application'. Выберите каталог для проекта( лучше оставить по умолчанию ) и имя проекта, например, 'First' и нажмите 'OK'. У вас создатся 'First classes'. После этого выберите опять 'New', но с закладкой 'Files' и выберите 'C++ Source File'. Далее нажмите 'OK' и создастся файл 'First.cpp'. Всё, теперь можно писать программу. Но перед тем, как писать программу, давайте разберёмся какие типы данных существуют в C++. |
|
Пример показывает, как пользоваться функцией NetQueryDisplayInformation, для получения специфической информации о пользователях, а так же представлен класс, который позволяет получить более общий доступ к данному сервису. |
|
При разработке программ часто возникает необходимость модифицировать уже существующие базовые классы объектов: добавлять в них новые данные и методы, перекрывать уже существующие. |
|
Для обеспечения сетевых коммуникаций используются сокеты. Сокет это конечная точка сетевых коммуникаций. Каждый использующийся сокет имеет тип и ассоциированный с ним процесс. Сокеты существуют внутри коммуникационных доменов. Домены это абстракции, которые подразумевают конкретную структуру адресации и множество протоколов, которое определяет различные типы сокетов внутри домена. Примерами коммуникационных доменов могут быть: UNIX домен, Internet домен, и т.д. |
|
В данной главе будут рассматриваться самые эффективные способы написания кода с помощью классов MFC ( Microsoft Foundation Class Library ). Вы пройдете весь курс за пару дней. Примеры несложные, наглядные, но с изюминкой. Каждая программа отличается новыми возможностями. Вы научитесь без проблем работать с диалоговыми окнами, связывать элементы управления, выводить графику, работать с меню, обробатывать мышь и клавиатуру. Разрабатывать профессиональные приложения, используя DirectX & Sound, включать ActivX элементы и создавать собственные DLL библиотеки. |
|
Мы напишем специальный тестовый TCP/IP клиент, который посылает требуемое число раз запрос к серверу (ретранслятору), принимает от него ответ, и тут же разрывает соединение. Серия запросов от клиента делается для усреднения результата и для того (как будет видно далее), чтобы исключить (или учесть) эффекты кэширования памяти. Клиент измеряет время (точнее - число циклов процессора) между отправкой запроса серверу и приходом ответа от него. Сервера в этом анализе являются простыми ретрансляторами. |
|
Язык С представляет программисту очень ограниченные возможности обработки исключений, возникших при работе программы. В этом отношении С++ намного развитее С. Здесь у программиста существенно большие возможности по непосредственной обработке исключений. Комитет по разработке стандартов С++ предоставил очень простую, но мощную форму обработки исключений. |
|
При разработке больших приложений, оперирующих большими объемами информации на первое место при отладке встает проблема обнаружения неправильного распределения памяти. Суть проблемы состоит в том, что если мы выделили участок памяти, а затем освободили не весь выделенный объем, то образуются блоки памяти, которые помечены как занятые, но на самом деле они не используются. При длительной работе программы такие блоки могут накапливаться, приводя к значительному расходу памяти. |
|
DirectSound - сравнительно новый программный интерфейс, входящий в семейство <мультимедийных> интерфейсов DirectX (DirectDraw, Direct3D, DirectInput и т.п.). Первым продуктом данного семейства является интерфейс Direct Draw, созданный почти одновременно с Windows 95 и предназначенный для оптимизации работы игровых приложений с видеоадаптером. Затем к нему добавились интерфейсы Direct3D, DirectInput, а впоследствии для многих классических интерфейсов с оконечными устройствами были введены Direct-версии. |
|
ObjectWindows обеспечивает совершенно новый великолепный способ создания прикладных программ для Microsoft Windows. До последнего времени программирование для среды Windows требовало компилятора Microsoft C и большого числа отдельных, и достаточно сложных, прикладных утилит. В результате чего, создание программ под Windows являлось относительно медленным, сложным и кропотливым делом. С появлением прикладного программного продукта ObjectWindows программирование для Windows стало намного более приятным занятием. |
|
Хранитель экрана, который мы сегодня вместе с вами сделаем, будет работать в фоновом режиме, при этом, естественно, он не должен мешать работе других приложений и потреблять минимум ресурсов. Технически хранитель экрана является обычным исполняемым файлом Windows (*.exe) полностью управляемым сообщениями ОС, но переименованным в *.scr. |
|
C++ уже давно с нами. Сообщество программистов на C++ весьма обширно, и большинство из них хорошо знают о западнях и подводных камнях языка. Язык C++ был создан высоко квалифицированной командой разработчиков, которые, работая в Bell Laboratories, выпустили не только первый программный продукт C++ (CFRONT), но и опубликовали много конструктивных работ о C++. Большинство правил языка C++ было опубликовано в конце 1980-х и начале 1990-х годов. |
|
То, что вы видите перед собой - это первый выход на публику книги "Borland C++ 5 для себя". Но от финального релиза данную бета-версию отличают не только возможные будущие исправления, но также и то, что здесь представлены лишь несколько первых глав книги. Вообще же, в наличии сейчас имеется намного больше, и чтобы подчеркнуть этот факт, последняя глава в этой версии оборвана на полуслове. |
|
Глубинное родство этих языков программирования позволяет им взаимодействовать, расширяя возможности каждого. Язык JAVA во многом произошел от С/С++, у которых были позаимствованы синтаксис и базовая семантика. Однако связь между ними не ограничивается только этим. |
|
В данной статье ставится цель показать как писать программы на С++, используя "абстракцию данных". В статье предлагается обсуждение каждой новой особенности языкa для помощи читателю в осознании места, занимаемого ею в общем проекте языка техники программированияб которую она предназначена поддерживать, ошибок и издержек, избежать которых она предназначенa помочь программисту. Однако поскольку данная статья не является руководством она не дает полной детализации примитивов языка. |
|
Трудно найти человека, которые не знает или не использует Far - IMHO лучший клон NC для Windows. Кроме того, что это просто очень хороший файл менеджер, к нему есть огромное количество plug-in модулей. Plug-in модуль это DLL-файл, который вместо стандартных Windows функций по работе с монитором, клавиатурой и т.д. обращается к функциям Far-а. Far поддерживает весь набор функций для работы в текстовом режиме. Установка plug-in модуля происходит предельно просто - DLL файл и файлы данных копируются в каталог в каталоге Far\Plugins и Far перезапускается. |
|
В сравнении с некоторыми темами, рассматриваемыми ранее в журнале Microsoft Systems Journal, например DirectX или Microsoft Transaction Server, статья о процессе установки (инсталляции) может показаться весьма скучной. Однако новый инсталлятор Windows предлагает вашему приложению несколько замечательных качеств, значительно превосходящих все известное раньше. |
|
Весь тот ажиотаж, который окружает язык программирования Java, может создать впечатление, что C++ пора включать в список рискованных инструментов. Однако, что бы ни ожидало его в будущем, пока этот язык программирования остается лучшим средством доступа к самым передовым функциям современных платформ Microsoft Windows, включая Windows 98 и Internet Explorer 4.0, и достижения максимальной производительности. Новая версия Microsoft Visual C++ 6.0 Enterprise Edition (1299 $) наглядно иллюстрирует, почему C++, по всей вероятности, будет продолжать играть важную роль в разработке корпоративных приложений на основе Интернета и баз данных. Этот пакет предлагает целый ряд новых функций, и мы настоятельно рекомендуем его пользователям Visual C++ 5.0. Кроме того, в нем имеются беспрецедентные средства упрощения работы для тех, кто только осваивает C++ и Microsoft Foundation Classes (MFC), а также значительные усовершенствования, направленные на корпоративное применение. |
|
Хотя все компиляторы с языка Си предназначены для генерации наиболее быстрых и компактных программ, качество оптимизации кода у них может быть совершенно различное. |
|
Натыкаясь в Интернете на довольно интересные программы, я часто не решался их закачивать после того, как узнавал их размер. Какую ни возьми - все огромные. Да и ресурсов системных потребляют немало. В этой статье я расскажу о том, как сделать программу в среднем в 10 - 100 раз меньше размером, чем попадаются аналогичные. |
|
Очень часто вами будет использоваться тип HANDLE - дескриптор, предназначенный для описания различных объектов. На самом деле этот тип представляет собой ни что иное, как указатель на void, т.е. как бы на любой тип. Объекты Windows обычно представлены своими дескрипторами. Например, HWND - дескриптор окна. Что он из себя представляет? |
|
В данной статье рассказывается как открывать и закрывать файлы, а так же как считывать и записывать в них данные. Класс CFile обеспечивает основные бинарные оперции с файлами. Классы CStdioFile, CMemFile наследованы от CFile и используются для более специфической работы с файлами. |
|
Объект CTime представляет абсолютное время и дату. Класс CTime объединяет тип данных ANSI time_t и ассоциированные run-time функции (функции периода выполнения), включая способность конвертировать из и в Григорианскую дату и 24-часовое время. |
|
Вы когда-либо задались вопросом: каким оразом Проводник (Explorer) узнает о том, что некоторое действие должно модифицировать его окно, потому что был добавлен или удален файл в текущей папке некоторым внешним приложением? Больше этому можно не удивляться, потому что использование нашего Активного Объекта позволяет делать то же самое и даже больше. |
|
Диалоговое окно для Windows программы является тем же, чем является вызов функции для программы на языке C. Сначала, Windows программы передают некоторые данные диалоговому окну, чтобы инициализировать его. Затем диалоговое окно обменивается информацией с пользователем. Когда пользователь решает, что любопытство программы было удовлетворено, он (или она) нажимает кнопку OK. Вновь полученные данные возвращаются обратно программе. |
|
Язык программирования C++ - это C, расширенный введением классов, inline-функций, перегруженных операций, перегруженных имен функций, константных типов, ссылок, операций управления свободной памятью, проверки параметров функций. Коротко различия между С++ и "старым С" приведены в #15. В этом руководстве описывается язык по состоянию на Июнь 1985. |
|
C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. |
|
C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. |
|
Данное руководство содержит материалы для углубленного изучения программирования и предназначено для тех, кто уже хорошо умеет программировать (на C, либо на другом языке программирования). Здесь содержится справочник по языку C, перекрестные ссылки по библиотеке исполняющей системы и ин- формациЯ по программированию с использованием потоков C++, моделей памяти, плавающей точки, оверлеев, видео-функций, интерфейса с языком ассемблера, а также сообщения об ошибках исполняющей системы и компилятора. |
|
Поскольку вы читаете данную книгу, то, вероятно, вы программируете на языке Си и уже приобрели или собираетесь приобрести компилятор Турбо Си для своей IBM PC. При чтении от вас потребуется довольно хорошее знание языка Си, а также DOS - операционной системы персональных ЭВМ (ПЭВМ) линии IBM PC - и ее функций. Знание языка ассемблера процессора 8086 и архитектуры IBM PC желательно, но не обязательно. В книге содержится множество исходных модулей функций на языке Си, которые помогут писать программы, работающие с окнами, а также делать ваши программы резидентными в памяти. |
|
|
|