Это издание -— практически новая книга, посвященная программированию серьезных приложений на Microsoft Visual C++ в операционных системах Windows 2000 (32- и 64-разрядных версиях) и Windows 98 с использованием функций Windows API. Состоит из 27 глав, двух приложений и предметного указателя. Гораздо глубже, чем в предыдущих изданиях, рассматриваются такие темы, как взаимодействие с операционной системой, библиотеки C/C++, программирование DLL и оптимизация кода, описываются новые механизмы и функции, появившиеся в Windows 2000, и приводится информация, специфическая для 64-разрядной Windows 2000. В этом издании автор, перейдя с языка С на C++, переработал все программы-примеры и представил ряд новых приложений, например Processlnfo и LISWatch. Также появились совершенно новые материалы: выравнивание данных, привязка потоков к процессорам, кэш-линии процессоров, архитектура NUMA, перехват API-вызовов и др. Книга предназначена профессиональным программистам, владеющим языком C/C++ и имеющим опыт разработки Windows-приложений. Прилагаемый компакт-диск содержит все программы из книги (исходный код и исполняемые файлы для процессоров х86, IA-64 и Alpha).
WINDOWS
Джеффри
Рихтер
ЧАCTЬ
I МАТЕРИАЛЫ ДЛЯ ОБЯЗАТЕЛЬНОГО ЧТЕНИЯ 8
Глава 1. Обработка ошибок 8
Вы тоже
можете это сделать 12
Программа-пример
ErrorShow 13
Глава 2 Unicode 14
Наборы
символов 14
Одно- и
двухбайтовые наборы символов 14
Unicode:
набор широких символов 15
Почему
Unicode? 16
Windows 2000
и Unicode 16
Windows 98 и
Unicode 17
Windows CE и
Unicode 18
В чью
пользу счет? 18
Unicode и
СОМ 18
Как писать
программу с использованием Unicode 19
Unicode и
библиотека С 19
Типы
данных, определенные в Windows для Unicode 21
Unicode- и
ANSI-функции в Windows 22
Строковые
функции Windows 23
Создание
программ, способных использовать и
ANSI, и Unicode 23
Ресурсы 27
Текстовые
файлы 27
Перекодировка
строк из Unicode в ANSI и обратно 28
Глава 3 Объекты ядра 31
Что такое
объект ядра 32
Учет
пользователей объектов ядра 33
Защита 33
Таблица
описателей объектов ядра 35
Создание
объекта ядра 35
Закрытие
объекта ядра 37
Совместное
использование объектов ядра несколькими
процессами 38
Наследование
описателя объекта 38
Изменение
флагов описателя 41
Именованные
объекты 43
Дублирование
описателей объектов 47
Часть II начинаем работать 51
Глава 4 Процессы 51
Ваше
первое Windows-приложение 53
Описатель
экземпляра процесса 56
Описатель
предыдущего экземпляра процесса 57
Командная
строка процесса 58
Переменные
окружения 59
Привязка
к процессорам 62
Режим
обработки ошибок 62
Текущие
диск и каталог для процесса 63
Текущие
каталоги для процесса 63
Определение
версии системы 64
Функция
CreateProcess 68
Параметры
pszApplicationName и pszCommandLine 68
Параметры
psaProcess, psaThread и blnheritHandles 70
Параметр
fdwCreate 71
Параметр
pvEnvironment 73
Параметр
pszCurDir 73
Параметр
psiStartlnfo 73
Параметр
ppiProclnfo 77
Завершение
процесса 79
Возврат
управления входной функцией первичного
потока 79
Функция
ExitProcess 79
Функция
TerminateProcess 81
Когда все
потоки процесса уходят 81
Что
происходит при завершении процесса 82
Дочерние
процессы 82
Запуск
обособленных дочерних процессов 84
Перечисление
процессов, выполняемых в системе 85
Программа-пример
Processlnfo 85
Глава 5 Задания 88
Определение
ограничений, налагаемых на процессы в
задании 91
Включение
процесса в задание 98
Завершение
всех процессов в задании 98
Получение
статистической информации о задании 99
Уведомления
заданий 102
Программа-пример
JobLab 104
Глава 6 Базовые сведения о потоках 106
В каких
случаях потоки создаются 107
И в каких
случаях потоки не создаются 108
Ваша
первая функция потока 109
Функция
CreateThread 110
Параметр
psa 111
Параметр
cbStack 111
Параметры
pfnStartAddr и pvParam 112
Параметр
fdwCreate 113
Параметр
pdwThreadlD 113
Завершение
потока 113
Возврат
управления функцией потока 114
Функция
ExitThread 114
Функция
TerminateThread 114
Если
завершается процесс 115
Что
происходит при завершении потока 115
Кое-что
о внутреннем устройстве потока 116
Некоторые
соображения по библиотеке С/С++ 118
Ой, вместо
_beginthreadex я по ошибке вызвал CreateThread 127
Библиотечные
функции, которые лучше не вызывать 127
Как узнать
о себе 128
Преобразование
псевдоописателя в настоящий описатель 129
Загрузка…
Навазние: Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows
Автор: Джеффри Рихтер
Издательство:
Год: 2001
Страниц: 752
Язык: Русский
Размер: 3.6
Формат: chm
Аннотация к книге Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows:
Это издание — практически новая книга, посвященная программированию серьезных приложений на Microsoft Visual C++ в операционных системах Windows 2000 (32- и 64-разрядных версиях) и Windows 98 с использованием функций Windows API. Состоит из 27 глав, двухприложений и предметного указателя. Гораздо глубже, чем в предыдущих изданиях, рассматриваются такие темы, как взаимодействие с операционной системой, библиотеки C/C++, программирование DLL и оптимизация кода, описываются новые механизмы и функции, появившиеся в Windows 2000, и приводится информация, специфическая для 64-разрядной Windows 2000.
В этом издании автор, перейдя с языка С на C++, переработал все программы-примеры и представил ряд новых приложений, например ProcessInfo и LISWatch. Также появились совершенно новые материалы: выравнивание данных, привязка потоков к процессорам, кэш-линии процессоров, архитектура NUMA, перехват API-вызовов и др. Книга предназначена профессиональным программистам, владеющим языком C/C++ и имеющим опыт разработки Windows-приложений.
5,873 просмотров всего, 1 просмотров сегодня