0

5549

0
Автор публикации grifin85

История

Самым значимым событием 2005 года стало появление многоядерных процессоров. К тому времени классические одноядерные системы исчерпали свой потенциал, поскольку не давали нужной производительности за счет повышения частот, мало того разработчики архитектур столкнулись с проблемой нестабильности и повышенного тепловыделения. Все это волей-неволей способствовало появлению революционных многоядерных процессоров. Идея этих процессоров предельно проста: в одном процессоре интегрировано более одного ядра. Такой подход способствует появлению более производительных процессоров без повышения частот.
Читать дальше...

0

3362

0
Автор публикации grifin85

Managed Extensions (управляемые расширения) для C++ позволяют свободно смешивать неуправляемый (native) и управляемый код даже в одном модуле. Ух ты, жизнь прекрасна! Однако компиляция с ключом /clr может иметь нежелательные последствия. Этот ключ навязывает многопоточный режим и отключает некоторые полезные проверки периода выполнения. Он влияет на DEBUG_NEW в MFC, и некоторые классы .NET Framework могут конфликтовать с вашим пространством имен. И что делать, если в устаревшем приложении используется компилятор, не поддерживающий /clr? Есть ли способ воспользоваться Framework без Managed Extensions? Да!

Читать дальше...

0

3316

0
Автор публикации grifin85

На этот раз я решил воспользоваться своей колонкой, чтобы описать одно интересное приложение, которое я создал с применением библиотеки RegexWrap (о ней читайте мою статью в этом номере). RegexForm — это система проверки форм для MFC на основе регулярных выражений. Данное приложение было главной причиной, побудившей меня реализовать библиотеку RegexWrap. Но поскольку многие детали не относятся к самим регулярным выражениям, здесь имеет смысл обсудить RegexForm, а не RegexWrap.

Читать дальше...

0

5109

0
Автор публикации grifin85

Уже несколько лет многие просят меня написать о GINA (Graphical Identification and Authentication) — компоненте, который служит точкой входа для интерактивной регистрации. Сегодня я начну рассказывать о нем. Это поможет вам, если вы собрались разработать свою реализацию этой штуковины. Я создам пример KIOSKGNA, самую простую реализацию GINA, какую я только смог придумать. В следующий раз я покажу FULLGINA с более богатой функциональностью. Примеры и фрагменты кода написаны на неуправляемом C++, наиболее подходящим для разработки GINA в наше время.

Читать дальше...

0

6227

0
Автор публикации grifin85

Вопрос Мне попадался C++-код, где для неиспользуемых параметров применяется UNREFERENCED_PARAMETER, например:

int SomeFunction(int arg1, int arg2){ UNREFERENCED_PARAMETER(arg2) ...}

Но встречался и такой код:

int SomeFunction(int arg1, int /* arg2 */){ ...}

Не могли бы вы пояснить, в чем тут разница и что лучше?

Джуди Макгео (Judy McGeough)

Читать дальше...

0

4275

0
Автор публикации grifin85

С выпуском Visual Studio 2005 в Microsoft .NET Frame-work появится поддержка модели параметризованных типов для обобщенного программирования. C++/CLI поддерживает два вида механизмов параметризации: обобщения CLR (общеязыковой исполняющей среды) и шаблоны C++. В предыдущей статье (msdn.microsoft.com/msdnmag/issues/05/04/pureC) я рассмотрел характеристики, общие для обоих механизмов. В этой статье мы обсудим их различия, в частности по списку параметров и модели ограничения типов.

Читать дальше...

0

5236

0
Автор публикации grifin85

Вопрос Я пишу MDI-приложение (Multiple Docu-ment Interface) на основе MFC. Как проверить из родительского окна, все ли дочерние MDI-окна закрыты? Если все они закрыты, мне нужно активизировать одну секцию в основном окне.

Читать дальше...

0

3240

0
Автор публикации grifin85

Когда выйдет Visual Studio 2005, вы обнаружите, что в библиотеки Visual C++ внесены существенные усовер­шенствования — результат полного пересмотра функ­ций, содержащихся в C Runtime Library (CRT), Standard C++ Library (SCL), Active Template Library (ATL) и Microsoft Foundation Classes (MFC), с точки зрения бе­зопасности. Углубленный анализ показал, что имеет смысл внести изменения, которые повысят безопас­ность и надежность приложений.

Читать дальше...

0

2295

0
Автор публикации grifin85

Новичку, осваивающему какой-либо язык программирования, то и дело попадаются такие понятия как «процедурное программирование», «модульное программирование», «объектно-ориентированное программирование»; постепенно он начинает проникать в их суть. Термин «обобщенное программирование» куда более редок. Что же это такое, какие возможности оно нам предоставляет? Попробуем ответить на этот вопрос.

Читать дальше...

0

1841

0
Автор публикации grifin85

Существуют два диаметрально противоположенных, но одинаково распространенных мнения, которые можно выразить как "C++ это C с классами" и "C++ и C --- разные языки программирования". В общем-то, не важно, какого мнения придерживаться, но интересно иное --- в каких случаях какой из этих языков (или вариантов языка) предпочтительнее.

Читать дальше...