Блог Рэймонда Чена (перевод)

Алгоритмы без использования блокировок: обнови, если сможешь, а я выключаюсь

Клиент попросил помощи в решении проблемы синхронизации процессов: У нас есть небольшой объем...

Author: Dmitry Andreev Date: 07/01/2012

Алгоритмы без использования блокировок: обнови, если сможешь, а я выключаюсь

Клиент попросил помощи в решении проблемы синхронизации процессов: У нас есть небольшой объем...

Author: Dmitry Andreev Date: 06/30/2012

Шаблоны использования функций InitOnce

Поскольку от написания кода без использования блокировок может начать болеть голова, вам, вероятно,...

Author: Dmitry Andreev Date: 07/06/2011

Алгоритмы без использования блокировок: однократная инициализация

Частным случаем singleton-конструктора является обычная «ленивая» инициализация множества...

Author: Dmitry Andreev Date: 05/31/2011

Алгоритмы без использования блокировок: выбор уникального значения (решения)

В прошлый раз я опубликовал задание для разминки, содержащее фрагмент кода для выбора уникального в...

Author: Dmitry Andreev Date: 05/31/2011

Алгоритмы без использования блокировок: однократная инициализация

Частным случаем singleton-конструктора является обычная «ленивая» инициализация множества...

Author: Dmitry Andreev Date: 05/31/2011

Алгоритмы без использования блокировок: выбор уникального значения (решения)

В прошлый раз я опубликовал задание для разминки, содержащее фрагмент кода для выбора уникального в...

Author: Dmitry Andreev Date: 05/31/2011

Алгоритмы без использования блокировок: singleton-конструктор

Содержимое первой половины статьи будет, скорее всего, знакомым для многих (или почти всех?)...

Author: Dmitry Andreev Date: 05/21/2011

Алгоритмы без использования блокировок: выбор уникального значения (разминка)

Вот небольшой фрагмент кода, который предназначен для генерации уникального числа в процессе. А вот...

Author: Dmitry Andreev Date: 05/19/2011

Самая смешная шутка, которую я когда-либо рассказывал (по мнению трехлетних малышей)

Я протестировал эту шутку на нескольких детях в возрасте трех и четырех лет, и каждый раз она...

Author: Dmitry Andreev Date: 05/19/2011

Предыстория задорного сообщения Комиксного чата

Спустя несколько месяцев после моего сообщения о печальной кончине задорного сообщения в Комиксном...

Author: Dmitry Andreev Date: 05/19/2011

Алгоритмы без использования блокировок: выбор уникального значения (разминка)

Вот небольшой фрагмент кода, который предназначен для генерации уникального числа в процессе. А вот...

Author: Dmitry Andreev Date: 05/19/2011

Windows в том числе и не канал распространения .NET Framework

Некоторое время назад мы узнали, что Windows не является каналом распространения библиотек MFC. И,...

Author: Dmitry Andreev Date: 05/19/2011

Самая смешная шутка, которую я когда-либо рассказывал (по мнению трехлетних малышей)

Я протестировал эту шутку на нескольких детях в возрасте трех и четырех лет, и каждый раз она...

Author: Dmitry Andreev Date: 05/19/2011

Предыстория задорного сообщения Комиксного чата

Спустя несколько месяцев после моего сообщения о печальной кончине задорного сообщения в Комиксном...

Author: Dmitry Andreev Date: 05/19/2011

Разбор ссылок на первый квартал 2011 года: выпуск о блоггерах Microsoft

Снова пришла пора размещения ссылкок на других блоггеров Microsoft. Алфавитный суп в блоге Office...

Author: Dmitry Andreev Date: 05/18/2011

Установка родительского окна из другого процесса — это трюк, но в некоторых случаях так делать правильно

У клиента есть основное приложение (давайте, назовем его A) и вспомогательное приложение (давайте,...

Author: Dmitry Andreev Date: 05/17/2011

Как мне получить заголовок диалога из его ресурсов?

Клиент прислал следующий вопрос: Мы разрабатываем автоматизированные тесты для нашего приложения....

Author: Dmitry Andreev Date: 05/17/2011

Несмотря на то, что иконкой ярлыка по умолчанию является иконка целевого объекта, вы можете изменить это поведение

Клиент сообщил, что ярлык, который они опубликовали на рабочие столы своих сотрудников, генерировал...

Author: Dmitry Andreev Date: 05/17/2011

Установка родительского окна из другого процесса — это трюк, но в некоторых случаях так делать правильно

У клиента есть основное приложение (давайте, назовем его A) и вспомогательное приложение (давайте,...

Author: Dmitry Andreev Date: 05/17/2011

Как мне получить заголовок диалога из его ресурсов?

Клиент прислал следующий вопрос: Мы разрабатываем автоматизированные тесты для нашего приложения....

Author: Dmitry Andreev Date: 05/17/2011

Несмотря на то, что иконкой ярлыка по умолчанию является иконка целевого объекта, вы можете изменить это поведение

Клиент сообщил, что ярлык, который они опубликовали на рабочие столы своих сотрудников, генерировал...

Author: Dmitry Andreev Date: 05/17/2011

Почему в Win32 тип BOOL определен как signed int, а не как unsigned int?

Игорь Левицки хочет, чтобы кто-нибудь из Microsoft объяснил, почему тип BOOL определен как signed...

Author: Dmitry Andreev Date: 05/17/2011

Имена Поль Сезанн и Камиль Сен-Санс, может, и звучат похоже, но это разные люди

На следующей неделе Симфонический Оркестр Сиэтла исполняет «Симфонию с органом» Сен-Санса, но люди,...

Author: Dmitry Andreev Date: 05/17/2011

Как я могу наблюдать за жизненным циклом окна Проводника или даже управлять им?

Клиент обратился с просьбой помочь реализовать наблюдение за жизненным циклом окна Проводника. Мы...

Author: Dmitry Andreev Date: 05/16/2011

Как мне сгенерировать подходящее и вместе с тем уникальное значение, которое может сосуществовать с глобальными уникальными идентификаторами?

Клиенту понадобилось сгенерировать глобальный уникальный идентификатор (GUID) для каждого экземпляра...

Author: Dmitry Andreev Date: 05/16/2011

Все ограничения функции работают в совокупности: если не выполняется хотя бы одно из условий, ограничения всей функции считаются невыполненными

Клиент столкнулся с проблемой при использовании функции WaitForMultipleObjects: Мы пытаемся...

Author: Dmitry Andreev Date: 05/16/2011

Имена Поль Сезанн и Камиль Сен-Санс, может, и звучат похоже, но это разные люди

На следующей неделе Симфонический Оркестр Сиэтла исполняет «Симфонию с органом» Сен-Санса, но люди,...

Author: Dmitry Andreev Date: 05/16/2011

Как я могу наблюдать за жизненным циклом окна Проводника или даже управлять им?

Клиент обратился с просьбой помочь реализовать наблюдение за жизненным циклом окна Проводника. Мы...

Author: Dmitry Andreev Date: 05/16/2011

Как мне сгенерировать подходящее и вместе с тем уникальное значение, которое может сосуществовать с глобальными уникальными идентификаторами?

Клиенту понадобилось сгенерировать глобальный уникальный идентификатор (GUID) для каждого экземпляра...

Author: Dmitry Andreev Date: 05/16/2011

Все ограничения функции работают в совокупности: если не выполняется хотя бы одно из условий, ограничения всей функции считаются невыполненными

Клиент столкнулся с проблемой при использовании функции WaitForMultipleObjects: Мы пытаемся...

Author: Dmitry Andreev Date: 05/16/2011

Как исполняющая среда языка C определяет, когда использовать версию заголовочного файла для статического связывания, а когда — для динамического?

В комментариях к разъяснениям, что произойдет, если вы некорректно укажете опцию dllimport, участник...

Author: Dmitry Andreev Date: 05/15/2011

Вы можете расширить структуру PROPSHEETPAGE своими собственными дополнительными данными

... в тех случаях, когда возможностей обычного параметра lParam недостаточно. Малоизвестная и еще...

Author: Dmitry Andreev Date: 05/15/2011

Что означает буква «l» в функции «lstrcmp»?

Если вы спросите об этом Майкла Каплана, он, скорее всего, скажет, что это означает «lame»...

Author: Dmitry Andreev Date: 05/15/2011

Что за таинственная инструкция inc bp в начале функций 16-битного кода?

Совсем недавно мы рассмотрели цепочку значений EBP. Ее реализация в 32-битном коде довольно проста,...

Author: Dmitry Andreev Date: 05/14/2011

Высоконаучные предсказания Рэймонда относительно турнира национальной ассоциации студенческого спорта 2011 года по баскетболу среди юношей

Вот и снова пришло время Рэймонду опубликовать свои абсурдные, нелепые критерии заполнения турнирной...

Author: Dmitry Andreev Date: 05/09/2011

Почему Проводник не может определиться с размером файла?

Если вы откроете Проводник и выделите файл, размер которого всего несколько килобайт, вы сможете...

Author: Dmitry Andreev Date: 05/08/2011

Высоконаучные предсказания Рэймонда относительно турнира национальной ассоциации студенческого спорта 2011 года по баскетболу среди юношей

Вот и снова пришло время Рэймонду опубликовать свои абсурдные, нелепые критерии заполнения турнирной...

Author: Dmitry Andreev Date: 05/08/2011

Как мне создать окно, которое будет располагаться поверх всех окон и никогда не будет перекрываться другими окнами, которые отображаются поверх всех окон?

Как мы уже знаем, нельзя создать окно, которое будет всегда находиться поверх всех окон, включая...

Author: Dmitry Andreev Date: 05/08/2011

Почему Проводник не может определиться с размером файла?

Если вы откроете Проводник и выделите файл, размер которого всего несколько килобайт, вы сможете...

Author: Dmitry Andreev Date: 05/08/2011

Старая программа DEBUG может загружать COM-файлы, которые имеют размер более 64 Кб, но это не означает, что она загружает их как программы

Некоторое время назад я писал о том, почему поврежденные бинарные файлы иногда приводят к ошибке...

Author: Dmitry Andreev Date: 05/08/2011

Почему моя структура TIME_ZONE_INFORMATION содержит неверную дату перехода на летнее время?

Объявление службы общественной информации: в эти выходные на большей части территории Соединенных...

Author: Dmitry Andreev Date: 05/08/2011

Как мне создать окно, которое будет располагаться поверх всех окон и никогда не будет перекрываться другими окнами, которые отображаются поверх всех окон?

Как мы уже знаем, нельзя создать окно, которое будет всегда находиться поверх всех окон, включая...

Author: Dmitry Andreev Date: 05/08/2011

Экстренные новости: компании модифицируют свои продукты, чтобы привлечь покупателей

Как-то раз поднялась шумиха из-за одной компании, которая «изменяла вкус своего продукта в...

Author: Dmitry Andreev Date: 04/30/2011

Оконному менеджеру нужна обработка очереди сообщений, чтобы уведомить вас, когда вы не ожидаете его явно

Есть несколько разных способов попросить оконный менеджер уведомить вас, когда произойдет что-нибудь...

Author: Dmitry Andreev Date: 04/30/2011

Как спасти сломанную трассировку стека: восстановление цепочки значений EBP

Во время отладки вы можете обнаружить, что трассировка стека рассыпалась на части: ChildEBP RetAddr...

Author: Dmitry Andreev Date: 04/30/2011

Как говорят в Microsoft: каданс

Изначально термин «каданс» (или «каденция») означал частоту некоторых периодических событий, с...

Author: Dmitry Andreev Date: 04/30/2011

В чем разница между функциями FreeResource и, скажем, DestroyAcceleratorTable

MaxMax задал несколько воспросов, связанных с ресурсами, начиная с «Как освободить ресурс,...

Author: Dmitry Andreev Date: 04/30/2011

Экстренные новости: компании модифицируют свои продукты, чтобы привлечь покупателей

Как-то раз поднялась шумиха из-за одной компании, которая «изменяла вкус своего продукта в...

Author: Dmitry Andreev Date: 04/30/2011

Оконному менеджеру нужна обработка очереди сообщений, чтобы уведомить вас, когда вы не ожидаете его явно

Есть несколько разных способов попросить оконный менеджер уведомить вас, когда произойдет что-нибудь...

Author: Dmitry Andreev Date: 04/30/2011

Next>