Мастер-класс - Назарр К., Рихтер Дж. - Windows via C&C++. Программирование на языке Visual C++ [2009, PDF, RUS] + Code

Страницы:  1
Ответить
 

aaillya

Top Seed 03* 160r

Стаж: 16 лет 7 месяцев

Сообщений: 339

aaillya · 23-Июл-10 16:22 (14 лет 11 месяцев назад, ред. 23-Июл-10 16:24)

Windows via C&C++. Программирование на языке Visual C++ (+ПРИМЕРЫ ПРОГРАММ)
Год выпуска: 2009
Автор: Назарр К., Рихтер Дж.
Жанр: Пособие
Издательство: Питер
ISBN: 978-5-7502-0367-3
Язык: Русский
Формат: PDF
Качество: Отсканированные и распознанные страницы
Количество страниц: 932
Описание: Это издание — практически новая книга, посвященная разработке серьезных приложений на Visual C++ в операционных системах Windows XP и Windows Vista (32- и 64-разрядных версиях) с использованием функций Windows API. Гораздо глубже, чем в предыдущих изданиях, рассматриваются такие темы, как механизм User Account Control, взаимодействие с системой библиотеки C/C++ при реализации защитных механизмов и обработке исключений; представлены новые синхронизирующие механизмы. В это издание добавлены две совершенно новые главы: о механизмах ввода-вывода и о работе новой системы Windows Error Reporting, изменившей подходы к созданию отчетов об ошибках и восстановлению приложений после сбоев.
Книга предназначена для профессиональных программистов, владеющих языком С/С++ и имеющим опыт разработки Windows-приложений. Книга состоит из 26 глав и двух приложений.
Доп. информация: Исходные тексты для всех программ-примеров из глав книги в папке [Codes].
Скриншоты:
Download
Rutracker.org не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 

prog-engineer

Стаж: 16 лет

Сообщений: 1


prog-engineer · 19-Сен-10 12:43 (спустя 1 месяц 26 дней)

Большое спасибо за книгу! Особенно за то что уже в распознанном виде! Жаль только закладок для глав нет и сслыки в оглавлении ссылаются на вордовские документы которых нет.
[Профиль]  [ЛС] 

Oleg10011001

Стаж: 16 лет 8 месяцев

Сообщений: 258


Oleg10011001 · 19-Сен-10 20:00 (спустя 7 часов)

Говорят, что эта книга не качественно переведена с инглиша... Это действительно так?
[Профиль]  [ЛС] 

linutorr

Стаж: 15 лет 9 месяцев

Сообщений: 11


linutorr · 28-Окт-10 09:15 (спустя 1 месяц 8 дней)

Так говорят про очень многие книги, и все советуют читать в оригинале на английском, но кто английским не очень хорошо владеет, тем приходится довольствоваться тем что есть... (я пока довольствуюсь переводами) )
[Профиль]  [ЛС] 

donASKet

Стаж: 19 лет 2 месяца

Сообщений: 14


donASKet · 04-Ноя-10 22:21 (спустя 7 дней)

Спасибо!
Книга от классиков в изумительном качестве скана!!!
с учетом того что MSDN английский лучше сразу привыкать к родному языку документации... вот только не смог найти оригинал в сети столь же качественно отсканенный. Если есть оригинал, поделитесь плииииз
[Профиль]  [ЛС] 

aaillya

Top Seed 03* 160r

Стаж: 16 лет 7 месяцев

Сообщений: 339

aaillya · 05-Ноя-10 09:05 (спустя 10 часов)

donASKet писал(а):
Спасибо!
Книга от классиков в изумительном качестве скана!!!
с учетом того что MSDN английский лучше сразу привыкать к родному языку документации... вот только не смог найти оригинал в сети столь же качественно отсканенный. Если есть оригинал, поделитесь плииииз
No problem!
Оригинал есть на трекере:
https://rutr.life/forum/viewtopic.php?t=849606
[Профиль]  [ЛС] 

BroileR2010

Стаж: 16 лет 7 месяцев

Сообщений: 4


BroileR2010 · 01-Фев-11 19:03 (спустя 2 месяца 26 дней)

читаю в бумажном виде, перевод действительно ужасен
[Профиль]  [ЛС] 

jondo

Стаж: 18 лет 3 месяца

Сообщений: 80


jondo · 11-Мар-11 20:08 (спустя 1 месяц 10 дней)

Для умного человека и такого перевода хватит.
[Профиль]  [ЛС] 

Ilyitch-89

Стаж: 16 лет 11 месяцев

Сообщений: 15

Ilyitch-89 · 14-Апр-11 06:08 (спустя 1 месяц 2 дня)

Огромное спасибо)С последним комментарием согласен полностью)
[Профиль]  [ЛС] 

sdrg

Стаж: 18 лет 10 месяцев

Сообщений: 307


sdrg · 12-Янв-12 11:20 (спустя 8 месяцев, ред. 12-Янв-12 11:20)

Подскажите пожалуйста хорошую книгу по программированию на C++ графических приложений (работа с GDI+, обработка изображений и DirectX) с нюансами управления окнами с графикой. Нужно именно для C++ (не для NET) для максимальной производительности обработки изображений.
[Профиль]  [ЛС] 

SamAlexFry7777

Стаж: 15 лет 4 месяца

Сообщений: 99


SamAlexFry7777 · 13-Янв-12 02:10 (спустя 14 часов)

sdrg писал(а):
Подскажите пожалуйста хорошую книгу по программированию на C++ графических приложений (работа с GDI+, обработка изображений и DirectX) с нюансами управления окнами с графикой. Нужно именно для C++ (не для NET) для максимальной производительности обработки изображений.
Фень Юань - Программирование графики для Windows [2002, PDF, RUS]
Программирование трёхмерных игр для Windows. Советы профессионала по трёхмерной графике и растеризации [2004, PDF/DjVu, RUS] + Code
[Профиль]  [ЛС] 

sdrg

Стаж: 18 лет 10 месяцев

Сообщений: 307


sdrg · 13-Янв-12 11:03 (спустя 8 часов, ред. 13-Янв-12 19:57)

SamAlexFry7777
Спасибо. А новей что-нибудь не публиковалось?
И еще вопрос. По программированию в технологии CUDA nVidia что-нибудь стоящее с примерами публиковалось из книжек (кроме того, что сейчас на трекере - я и бумажную бы купил)? Видеокурсы, конечно, хорошо, но для серьезной работы книги полезнее.
[Профиль]  [ЛС] 

Frozzeg

Стаж: 16 лет 8 месяцев

Сообщений: 35


Frozzeg · 13-Авг-12 10:34 (спустя 6 месяцев, ред. 13-Авг-12 15:44)

Я особо не вникал, но судя по оглавлению книжечка сильно напоминает другую книгу того же автора "Windows. Создание эффективных Win32 приложений с учётом специфики 64-разрядной версии Windows"
Комментарий с озона:
Цитата:
Читал более раннюю версию этой книги, а именно "Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows"(http://www.ozon.ru/context/detail/id/116668/), вышедшую в 2001 году.
Купил эту... И, к своему удивлению, не обнаружил в новом издании раздела:
"Часть VI: Операции с окнами
Глава 26 - Оконные сообщения
Глава 27 - Модель аппаратного ввода и локальное состояние ввода"
[Профиль]  [ЛС] 

StasClick

Стаж: 16 лет 4 месяца

Сообщений: 1


StasClick · 30-Авг-13 11:01 (спустя 1 год)

Переведено ОТВРАТИТЕЛЬНО!
страница 468:
Цитата:
В Windows 2000 эти компоненты полностью защищены."
в оригинале об Windows 2000 речи вообще не было! Зачем переводчик это сюда вставил?
Вот еще c этой же страницы:
Цитата:
В 64-разрядной Windows раздел пользовательского режима (4 Тб) выглядит непропорционально малым по сравнению с 16 777 212 Тб от-веденными под раздел для кода и данных режима ядра.
оригинал ->
Цитата:
In 64-bit Windows, the 8-TB user-mode partition looks greatly out of proportion to the 16,777,208-TB kernel-mode partition
все цифры не верные.
И таких моментов много.
Очень не советую читать эту книгу, потому что написан там полный бред. Читать надо оригинал, и в моментах где совсем не понятно, можно взять перевод, но чаще всего там написано еще хуже
[Профиль]  [ЛС] 

mi3x

Стаж: 15 лет 2 месяца

Сообщений: 78

mi3x · 19-Май-16 11:57 (спустя 2 года 8 месяцев, ред. 19-Май-16 20:13)

prog-engineer писал(а):
38210920Жаль только закладок для глав нет
Потратил пару часиков сделал интерактивное иерархическое оглавление со сверкой всех страниц
Оглавление
Код:
Оглавление    1
Благодарности    9
Введение    10
    64-разрядные версии Windows    11
    Что нового в пятом издании    12
    Примеры кода и требования к системе    14
    Техническая поддержка    14
Часть I Материалы для обязательного чтения    15
    Глава 1 Обработка ошибок    18
        Вы тоже можете это сделать    23
        Программа-пример ErrorShow    24
    Глава 2. Работа с символами и строками    27
        Наборы символов    29
        Символьные и строковые типы данных для ANSI и Unicode    31
        Unicode- и ANSI-функции в Windows    33
        Unicode- и ANSI-функции в библиотеке С    36
        Безопасные строковые функции в библиотеке С    37
            Введение в безопасные строковые функции    38
            Дополнительные возможности при работе со строками    42
            Строковые функции Windows    44
        Почему Unicode?    46
        Рекомендуемые приемы работы с символами и строками    47
        Перекодировка строк из Unicode в ANSI и обратно    48
            Экспорт DLL-функций для работы с ANSI и Unicode    50
            Определяем формат текста (ANSI или Unicode)    52
    Глава 3. Объекты ядра    54
        Что такое объект ядра    54
            Учет пользователей объектов ядра    57
            Защита    57
        Таблица описателей объектов ядра    60
            Создание объекта ядра    61
            Закрытие объекта ядра    63
        Совместное использование объектов ядра несколькими процессами    66
            Наследование описателя объекта    67
            Именованные объекты    72
            Дублирование описателей объектов    86
Часть II Приступаем к работе    93
    Глава 4. Процессы    95
        Ваше первое Windows-приложение    96
            Описатель экземпляра процесса    102
            Описатель предыдущего экземпляра процесса    104
            Командная строка процесса    105
            Переменные окружения    106
            Привязка к процессорам    113
            Режим обработки ошибок    113
            Текущие диск и каталог для процесса    114
            Определение версии системы    116
        Функция CreateProcess    120
            Параметры pszApplicationName и pszCommandLine    121
            Параметры psaProcess, psaThread и bInheritHandles    123
            Параметр fdwCreate    125
            Параметр pvEnvironment    127
            Параметр pszCurDir    128
            Параметр psiStartInfo    128
            Параметр ppiProcInfo    136
        Завершение процесса    138
            Возврат управления входной функцией первичного потока    138
            Функция ExitProcess    139
            Функция TerminateProcess    140
            Когда все потоки процесса уходят    141
            Что происходит при завершении процесса    141
        Дочерние процессы    142
            Запуск обособленных дочерних процессов    144
        Работа администратора с пользовательскими полномочиями    145
            Автоматическое повышение привилегий процесса    149
            Повышение привилегий процесса вручную    151
            О текущем контексте привилегий    153
            Перечисление процессов, выполняемых в системе    155
            Программа-пример ProcessInfo    156
    Глава 5. Задания    165
        Определение ограничений, налагаемых на процессы в задании    170
        Включение процесса в задание    178
        Завершение всех процессов в задании    179
            Получение статистической информации о задании    179
        Уведомления заданий    183
        Программа-пример JobLab    186
    Глава 6. Базовые сведения о потоках    189
        В каких случаях потоки создаются    190
        И в каких случаях потоки не создаются    192
        Ваша первая функция потока    193
        Функция CreateThread    194
            Параметр psa    195
            Параметр cbStackSize    195
            Параметры pfnStartAddr и pvParam    196
            Параметр dwCreateFlags    197
            Параметр pdwThreadID    197
        Завершение потока    198
            Возврат управления функцией потока    198
            Функция ExitThread    198
            Функция TerminateThread    199
            Если завершается процесс    199
            Что происходит при завершении потока    200
        Кое-что о внутреннем устройстве потока    201
        Некоторые соображения по библиотеке С/С++    203
            Ой, вместо beginthreadex я по ошибке вызвал CreateThread    214
            Библиотечные функции, которые лучше не вызывать    214
        Как узнать о себе    215
            Преобразование псевдоописателя в настоящий описатель    216
    Глава 7. Планирование потоков, приоритет и привязка к процессорам    219
        Приостановка и возобновление потоков    222
        Приостановка и возобновление процессов    223
        Функция Sleep    225
        Переключение потоков    225
            Переключение потоков на компьютерах с процессором, поддерживающим HyperThreading    226
            Определение периодов выполнения потока    227
        Структура CONTEXT    231
        Приоритеты потоков    236
        Абстрагирование приоритетов    237
        Программирование приоритетов    242
            Динамическое изменение уровня приоритета потока    245
            Подстройка планировщика для активного процесса    246
            Приоритеты запросов ввода-вывода    247
            Программа-пример Scheduling Lab    249
        Привязка потоков к процессорам    256
    Глава 8. Синхронизация потоков в пользовательском режиме    261
        Атомарный доступ: семейство Interlocked-функций    263
        Кэш-линии    270
        Более сложные методы синхронизации потоков    272
            Худшее, что можно сделать    273
        Критические секции    274
            Критические секции: важное дополнение    277
            Критические секции и спин-блокировка    280
            Критические секции и обработка ошибок    281
        «Тонкая» блокировка    283
        Условные переменные    287
            Приложение-пример Queue    288
            Несколько полезных приемов    301
    Глава 9. Синхронизация потоков с использованием объектов ядра    305
        Wait-функции    307
        Побочные эффекты успешного ожидания    311
        События    313
            Программа-пример Handshake    318
        Ожидаемые таймеры    323
            Ожидаемые таймеры и АРС-очередь    327
            И еще кое-что о таймерах    330
        Семафоры    331
        Мьютексы    333
            Мьютексы и критические секции    336
            Программа-пример Queue    337
        Сводная таблица объектов, используемых для синхронизации потоков    346
        Другие функции, применяемые в синхронизации потоков    348
            Асинхронный ввод-вывод на устройствах    348
            Функция WaitForInputIdle    348
            Функция MsgWaitForMultipleObjects(Ex)    350
            Функция WaitForDebugEvent    350
            функция SignalObjectAndWait    351
            Обнаружение взаимных блокировок с помощью WaitChain Traversal API    352
    Глава 10. Синхронный и асинхронный ввод-вывод на устройствах    363
        Открытие и закрытие устройств    364
        Близкое знакомство с функцией CreateFile    367
            Флаги функции CreateFile, управляющие кэшированием    370
            Другие флаги функции CreateFile    372
            Флаги файловых атрибутов    374
        Работа с файлами    375
            Определение размера файла    376
            Установка указателя в файле    377
            Установка конца файла    379
        Синхронный ввод-вывод на устройствах    380
            Сброс данных на устройство    381
            Отмена синхронного ввода-вывода    381
        Асинхронный ввод-вывод на устройствах: основы    383
            Структура OVERLAPPED    384
            Асинхронный ввод-вывод на устройствах: «подводные камни»    386
            Отмена запросов ввода-вывода, ожидающих в очереди    388
        Уведомление о завершении ввода-вывода    389
            Освобождение объекта ядра «устройство»    390
            Освобождение объекта ядра «событие»    392
            Ввод-вывод с оповещением    395
            Порты завершения ввода-вывода    402
            Создание портов завершения ввода-вывода    403
            Связывание устройства с портом завершения ввода-вывода    404
            Архитектура программ, использующих порты завершения ввода-вывода    407
            Как порт завершения ввода-вывода управляет пулом потоков    410
            Сколько потоков должно быть в пуле?    412
            Эмуляция выполненных запросов ввода-вывода    414
            Программа-пример FileCopy    415
    Глава 11. Пулы потоков    424
        Сценарий 1. Асинхронный вызов функций    426
            Явное управление рабочими элементами    427
            Программа-пример Batch    429
        Сценарий 2. Вызов функций через определенные интервалы времени    433
            Программа-пример TimedMsgBox    435
        Сценарий 3. Вызов функций при освобождении отдельных объектов ядра    439
        Сценарий 4. Вызов функций по завершении запросов асинхронного ввода-вывода    442
            Обработка завершения обратного вызова    443
            Настройка пула потоков    445
            Корректное разрушение пула потоков и группы очистки    447
    Глава 12. Волокна    452
        Работа с волокнами    453
        Программа-пример Counter    456
Часть III Управление памятью    460
    Глава 13. Архитектура памяти в Windows    463
        Виртуальное адресное пространство процесса    463
        Как адресное пространство разбивается на разделы    464
            Раздел для выявления нулевых указателей    465
            Раздел для кода л данных пользовательского режима    465
            Раздел для кода и данных режима ядра    468
            Регионы в адресном пространстве    468
            Передача региону физической памяти    469
        Физическая память в страничный файл    471
            Физическая память в страничном файле не хранится    473
        Атрибуты защиты    474
            Защита типа «копирование при записи    476
            Специальные флаги атрибутов защиты    477
        Подводя итоги    477
            Блоки внутри регионов    483
        Выравнивание данных    486
    Глава 14. Исследование виртуальной памяти    492
        Системная информация    492
        Статус виртуальной памяти    502
        Управление памятью на компьютерах с архитектурой NUMA    503
        Определение состояния адресного пространства    507
    Глава 15. Использование виртуальной памяти в приложениях    521
        Резервирование региона в адресном пространстве    521
        Передача памяти зарезервированному региону    524
            Резервирование региона с одновременной передачей физической памяти    525
            В какой момент региону передают физическую память    526
        Возврат физической памяти и освобождение региона    529
            В какой момент физическую память возвращают системе    530
            Изменение атрибутов защиты    539
            Сброс содержимого физической памяти    540
        Механизм Address Windowing Extensions    544
    Глава 16. Стек потока    559
        Функция из библиотеки С/С++ для контроля стека    564
        Программа-пример Summation    566
    Глава 17. Проецируемые в память файлы    573
        Проецирование в память EXE- и DLL-файлов    574
            Статические данные не разделяются несколькими экземплярами EXE или DLL    575
        Файлы данных, проецируемые в память    587
        Использование проецируемых в память файлов    588
        Обработка больших файлов    607
        Проецируемые файлы и когерентность    609
        Базовый адрес файла, проецируемого в память    610
        Особенности проецирования файлов    612
        Совместный доступ процессов к данным через механизм проецирования    613
        Файлы, проецируемые на физическую память из страничного файла    614
        Частичная передача физической памяти проецируемым файлам    620
    Глава 18. Динамически распределяемая память    636
        Стандартная куча процесса    637
        Дополнительные кучи в процессе    638
            Защита компонентов    638
            Более эффективное управление памятью    639
            Локальный доступ    640
            Исключение издержек связанных с синхронизацией потоков    640
            Быстрое освобождение всей памяти в куче    640
        Создание дополнительной кучи    641
            Выделение блока памяти из кучи    643
            Изменение размера блока    645
            Определение размера блока    646
            Освобождение блока    646
            Уничтожение кучи    646
            Использование куч в программах на С++    646
        Другие функции управления кучами    650
Часть IV Динамически подключаемые библиотеки    654
    Глава 19. DLL: основы    657
        DLL и адресное пространство процесса    658
        Общая картина    660
            Создание DLL-модуля    663
            Создание EXE-модуля    669
            Выполнение EXE-модуля    673
    Глава 20. DLL: более сложные методы программирования    677
        Явная загрузка DLL и связывание идентификаторов    677
            Явная загрузка DLL    678
            Явная выгрузка DLL    682
            Явное подключение экспортируемого идентификатора    685
        Функция входа/выхода    686
            Уведомление DLL_PROCESS_ATTACH    687
            Уведомление DLL_PROCESS_DETACH    689
            Уведомление DLL_THREAD_ATTACH    691
            Уведомление DLL_THREAD_DETACH    692
            Как система упорядочивает вызовы DllMain    693
            Функция DllMain и библиотека С/С++    696
        Отложенная загрузка DLL    697
            Программа-пример DelayLoadApp    702
        Переадресация вызовов функций    709
        Известные DLL    710
        Перенаправление DLL    712
        Модификация базовых адресов модулей    713
        Связывание модулей    720
    Глава 21. Локальная память потока    725
        Динамическая локальная память потока    726
            Использование динамической TLS    728
        Статическая локальная память потока    731
    Глава 22. Внедрение DLL и перехват API-вызовов    734
        Пример внедрения DLL    735
        Внедрение DI L с использованием реестра    737
        Внедрение DLL с помощью ловушек    739
            Утилита для сохранения позиций элементов на рабочем столе    740
        Внедрение DLL с помощью удаленных потоков    752
            Программа-пример injLib    756
            Библиотека ImgWalk.dll    763
        Внедрение троянской DLL    765
        Внедрение DLL как отладчика    765
        Внедрение кода через функцию CreateProcess    766
            Перехват API- вызовов: пример    767
            Перехват API-вызовов подменой кода    768
            Перехват API-вызовов с использованием раздела импорта    768
        Программа-пример LastMsgBoxInfo    773
Часть V Структурная обработка исключений    792
    Глава 23. Обработчики завершения    795
        Примеры использования обработчиков завершения    796
            Funcenstein1    797
            Funcenstein2    797
            Funcenstein3    799
            Funcfurter1    800
            Проверьте себя: FuncaDoodleDoo    801
            Funcenstein4    803
            Funcarama1    804
            Funcarama2    805
            Funcarama3    805
            Funcarama4: последний рубеж    806
            И еще о блоке finally    808
            Funcfurter2    809
            Программа-пример SEHTerm    810
    Глава 24. Фильтры и обработчики исключений    818
        Примеры использования фильтров и обработчиков исключений    819
            Funcmeister1    819
            Funcmeister2    820
        EXCEPTION_EXECUTE_HANDLER    822
            Некоторые полезные примеры    823
            Глобальная раскрутка    826
            Остановка глобальной раскрутки    829
        EXCEPTION_CONTINUE_EXECUTION    831
            Будьте осторожны с EXCEPTION_CONTNUE_EXECUTION    832
        EXCEPTION_CONTINUE_SEARCH    833
            Функция GetExceptionCode    835
            Функция GetExceptionInformation    840
            Программные исключения    844
    Глава 25. Необработанные исключения, векторная обработка исключений и исключения C++    850
        Как работает функция UnhandkdExceptionFilter    853
            Взаимодействие UnhandledExceptionFilter с WER    856
        Отладка по запросу    859
        Программа-пример Spreadsheet    862
        Векторная обработка исключений и обработчики возобновления    874
        Исключения С++ и структурные исключения    876
        Исключения и отладчик    878
    Глава 26. Отчеты об ошибках и восстановление приложений    884
        Консоль Windows Error Reporting    884
        Программная генерация отчетов об ошибках в Windows    887
            Отключение генерации и отправки отчетов    889
            Настройка генерируемых для процесса отчетов о сбоях    890
            Создание и настройка отчетов о сбоях    891
            Программа-пример Customized WER    900
        Автоматический перезапуск и восстановление приложений    908
            Автоматический перезапуск приложения    908
            Поддержка восстановления приложений    909
Часть VI Приложения    912
    Приложение А. Среда разработки    913
        Заголовочный файл CmnHdr.h    913
            Раздел Windows Version Build Option    914
            Раздел Unicode Build Option    914
            Раздел Windows Definitions и диагностика уровня 4    915
            Вспомогательный макрос Pragma Message    915
            Макрос chINRANGE    916
            Макрос chBEGINTfeREADEX    916
            Моя реализация DebugBreak для платформы x86    918
            Определение кодов программных исключений    918
            Макрос chMB    918
            Макросы chASSERT и chVERIFY    918
            Макрос chHANDLE_DLGMSG    919
            Макрос chSETDLGICONS    919
            Принудительное указание компоновщику входной функции (w)WinMain    919
            Поддержка тем оформления Windows XP с помощью директивы pragma    920
    Приложение Б. Распаковщики сообщений, макросы для дочерних элементов управления и API-макросы    928
        Макросы — распаковщики сообщений    929
        Макросы для дочерних элементов управления    931
        API-макросы    932
Можете воспользоваться прожкой PdfDjvuBookmarker и вставить его сами (надо будет только заменить 4 пробела на 1 таб), а можете скачать готовый файл с облака
Windows via C&C++ RUS and TOC (2009) [Дж. Рихтер].pdf
Windows via C&C++ RUS and TOC (2009) [Дж. Рихтер] Sources.zip

Оказывается в инете есть docx "исходник" этой PDFки
[Профиль]  [ЛС] 

пп2247

Стаж: 9 лет 8 месяцев

Сообщений: 224


пп2247 · 17-Сен-20 00:43 (спустя 4 года 3 месяца, ред. 17-Сен-20 00:43)

jondo писал(а):
43220301Для умного человека и такого перевода хватит.
очень самоуверенно
для первого знакомства с Рихтером/фундаментальным API, однозначно, лучше взять предыдущие корректные издания
впечатление, что книгу набирали в пьяном угаре
позор издательству
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error