Блог Рэймонда Чена (перевод)
Алгоритмы без использования блокировок: обнови, если сможешь, а я выключаюсь
Клиент попросил помощи в решении проблемы синхронизации процессов: У нас есть небольшой объем...
Date: 07/01/2012
Алгоритмы без использования блокировок: обнови, если сможешь, а я выключаюсь
Клиент попросил помощи в решении проблемы синхронизации процессов: У нас есть небольшой объем...
Date: 06/30/2012
Шаблоны использования функций InitOnce
Поскольку от написания кода без использования блокировок может начать болеть голова, вам, вероятно,...
Date: 07/06/2011
Алгоритмы без использования блокировок: однократная инициализация
Частным случаем singleton-конструктора является обычная «ленивая» инициализация множества...
Date: 05/31/2011
Алгоритмы без использования блокировок: выбор уникального значения (решения)
В прошлый раз я опубликовал задание для разминки, содержащее фрагмент кода для выбора уникального в...
Date: 05/31/2011
Алгоритмы без использования блокировок: однократная инициализация
Частным случаем singleton-конструктора является обычная «ленивая» инициализация множества...
Date: 05/31/2011
Алгоритмы без использования блокировок: выбор уникального значения (решения)
В прошлый раз я опубликовал задание для разминки, содержащее фрагмент кода для выбора уникального в...
Date: 05/31/2011
Алгоритмы без использования блокировок: singleton-конструктор
Содержимое первой половины статьи будет, скорее всего, знакомым для многих (или почти всех?)...
Date: 05/21/2011
Алгоритмы без использования блокировок: выбор уникального значения (разминка)
Вот небольшой фрагмент кода, который предназначен для генерации уникального числа в процессе. А вот...
Date: 05/19/2011
Самая смешная шутка, которую я когда-либо рассказывал (по мнению трехлетних малышей)
Я протестировал эту шутку на нескольких детях в возрасте трех и четырех лет, и каждый раз она...
Date: 05/19/2011
Предыстория задорного сообщения Комиксного чата
Спустя несколько месяцев после моего сообщения о печальной кончине задорного сообщения в Комиксном...
Date: 05/19/2011
Алгоритмы без использования блокировок: выбор уникального значения (разминка)
Вот небольшой фрагмент кода, который предназначен для генерации уникального числа в процессе. А вот...
Date: 05/19/2011
Windows в том числе и не канал распространения .NET Framework
Некоторое время назад мы узнали, что Windows не является каналом распространения библиотек MFC. И,...
Date: 05/19/2011
Самая смешная шутка, которую я когда-либо рассказывал (по мнению трехлетних малышей)
Я протестировал эту шутку на нескольких детях в возрасте трех и четырех лет, и каждый раз она...
Date: 05/19/2011
Предыстория задорного сообщения Комиксного чата
Спустя несколько месяцев после моего сообщения о печальной кончине задорного сообщения в Комиксном...
Date: 05/19/2011
Разбор ссылок на первый квартал 2011 года: выпуск о блоггерах Microsoft
Снова пришла пора размещения ссылкок на других блоггеров Microsoft. Алфавитный суп в блоге Office...
Date: 05/18/2011
Установка родительского окна из другого процесса — это трюк, но в некоторых случаях так делать правильно
У клиента есть основное приложение (давайте, назовем его A) и вспомогательное приложение (давайте,...
Date: 05/17/2011
Как мне получить заголовок диалога из его ресурсов?
Клиент прислал следующий вопрос: Мы разрабатываем автоматизированные тесты для нашего приложения....
Date: 05/17/2011
Несмотря на то, что иконкой ярлыка по умолчанию является иконка целевого объекта, вы можете изменить это поведение
Клиент сообщил, что ярлык, который они опубликовали на рабочие столы своих сотрудников, генерировал...
Date: 05/17/2011
Установка родительского окна из другого процесса — это трюк, но в некоторых случаях так делать правильно
У клиента есть основное приложение (давайте, назовем его A) и вспомогательное приложение (давайте,...
Date: 05/17/2011
Как мне получить заголовок диалога из его ресурсов?
Клиент прислал следующий вопрос: Мы разрабатываем автоматизированные тесты для нашего приложения....
Date: 05/17/2011
Несмотря на то, что иконкой ярлыка по умолчанию является иконка целевого объекта, вы можете изменить это поведение
Клиент сообщил, что ярлык, который они опубликовали на рабочие столы своих сотрудников, генерировал...
Date: 05/17/2011
Почему в Win32 тип BOOL определен как signed int, а не как unsigned int?
Игорь Левицки хочет, чтобы кто-нибудь из Microsoft объяснил, почему тип BOOL определен как signed...
Date: 05/17/2011
Имена Поль Сезанн и Камиль Сен-Санс, может, и звучат похоже, но это разные люди
На следующей неделе Симфонический Оркестр Сиэтла исполняет «Симфонию с органом» Сен-Санса, но люди,...
Date: 05/17/2011
Как я могу наблюдать за жизненным циклом окна Проводника или даже управлять им?
Клиент обратился с просьбой помочь реализовать наблюдение за жизненным циклом окна Проводника. Мы...
Date: 05/16/2011
Как мне сгенерировать подходящее и вместе с тем уникальное значение, которое может сосуществовать с глобальными уникальными идентификаторами?
Клиенту понадобилось сгенерировать глобальный уникальный идентификатор (GUID) для каждого экземпляра...
Date: 05/16/2011
Все ограничения функции работают в совокупности: если не выполняется хотя бы одно из условий, ограничения всей функции считаются невыполненными
Клиент столкнулся с проблемой при использовании функции WaitForMultipleObjects: Мы пытаемся...
Date: 05/16/2011
Имена Поль Сезанн и Камиль Сен-Санс, может, и звучат похоже, но это разные люди
На следующей неделе Симфонический Оркестр Сиэтла исполняет «Симфонию с органом» Сен-Санса, но люди,...
Date: 05/16/2011
Как я могу наблюдать за жизненным циклом окна Проводника или даже управлять им?
Клиент обратился с просьбой помочь реализовать наблюдение за жизненным циклом окна Проводника. Мы...
Date: 05/16/2011
Как мне сгенерировать подходящее и вместе с тем уникальное значение, которое может сосуществовать с глобальными уникальными идентификаторами?
Клиенту понадобилось сгенерировать глобальный уникальный идентификатор (GUID) для каждого экземпляра...
Date: 05/16/2011
Все ограничения функции работают в совокупности: если не выполняется хотя бы одно из условий, ограничения всей функции считаются невыполненными
Клиент столкнулся с проблемой при использовании функции WaitForMultipleObjects: Мы пытаемся...
Date: 05/16/2011
Как исполняющая среда языка C определяет, когда использовать версию заголовочного файла для статического связывания, а когда — для динамического?
В комментариях к разъяснениям, что произойдет, если вы некорректно укажете опцию dllimport, участник...
Date: 05/15/2011
Вы можете расширить структуру PROPSHEETPAGE своими собственными дополнительными данными
... в тех случаях, когда возможностей обычного параметра lParam недостаточно. Малоизвестная и еще...
Date: 05/15/2011
Что за таинственная инструкция inc bp в начале функций 16-битного кода?
Совсем недавно мы рассмотрели цепочку значений EBP. Ее реализация в 32-битном коде довольно проста,...
Date: 05/14/2011
Высоконаучные предсказания Рэймонда относительно турнира национальной ассоциации студенческого спорта 2011 года по баскетболу среди юношей
Вот и снова пришло время Рэймонду опубликовать свои абсурдные, нелепые критерии заполнения турнирной...
Date: 05/09/2011
Почему Проводник не может определиться с размером файла?
Если вы откроете Проводник и выделите файл, размер которого всего несколько килобайт, вы сможете...
Date: 05/08/2011
Высоконаучные предсказания Рэймонда относительно турнира национальной ассоциации студенческого спорта 2011 года по баскетболу среди юношей
Вот и снова пришло время Рэймонду опубликовать свои абсурдные, нелепые критерии заполнения турнирной...
Date: 05/08/2011
Как мне создать окно, которое будет располагаться поверх всех окон и никогда не будет перекрываться другими окнами, которые отображаются поверх всех окон?
Как мы уже знаем, нельзя создать окно, которое будет всегда находиться поверх всех окон, включая...
Date: 05/08/2011
Почему Проводник не может определиться с размером файла?
Если вы откроете Проводник и выделите файл, размер которого всего несколько килобайт, вы сможете...
Date: 05/08/2011
Старая программа DEBUG может загружать COM-файлы, которые имеют размер более 64 Кб, но это не означает, что она загружает их как программы
Некоторое время назад я писал о том, почему поврежденные бинарные файлы иногда приводят к ошибке...
Date: 05/08/2011
Почему моя структура TIME_ZONE_INFORMATION содержит неверную дату перехода на летнее время?
Объявление службы общественной информации: в эти выходные на большей части территории Соединенных...
Date: 05/08/2011
Как мне создать окно, которое будет располагаться поверх всех окон и никогда не будет перекрываться другими окнами, которые отображаются поверх всех окон?
Как мы уже знаем, нельзя создать окно, которое будет всегда находиться поверх всех окон, включая...
Date: 05/08/2011
Экстренные новости: компании модифицируют свои продукты, чтобы привлечь покупателей
Как-то раз поднялась шумиха из-за одной компании, которая «изменяла вкус своего продукта в...
Date: 04/30/2011
Оконному менеджеру нужна обработка очереди сообщений, чтобы уведомить вас, когда вы не ожидаете его явно
Есть несколько разных способов попросить оконный менеджер уведомить вас, когда произойдет что-нибудь...
Date: 04/30/2011
Как спасти сломанную трассировку стека: восстановление цепочки значений EBP
Во время отладки вы можете обнаружить, что трассировка стека рассыпалась на части: ChildEBP RetAddr...
Date: 04/30/2011
Как говорят в Microsoft: каданс
Изначально термин «каданс» (или «каденция») означал частоту некоторых периодических событий, с...
Date: 04/30/2011
В чем разница между функциями FreeResource и, скажем, DestroyAcceleratorTable
MaxMax задал несколько воспросов, связанных с ресурсами, начиная с «Как освободить ресурс,...
Date: 04/30/2011
Экстренные новости: компании модифицируют свои продукты, чтобы привлечь покупателей
Как-то раз поднялась шумиха из-за одной компании, которая «изменяла вкус своего продукта в...
Date: 04/30/2011
Оконному менеджеру нужна обработка очереди сообщений, чтобы уведомить вас, когда вы не ожидаете его явно
Есть несколько разных способов попросить оконный менеджер уведомить вас, когда произойдет что-нибудь...
Date: 04/30/2011