cplus-plus.ru logo
Мы переехали на cplus-plus.ru
Главная страница В закладкиО сайтеКарта сайта
Хостинг от uCoz
Добавить в закладки

Меню сайта

Полезные ссылки

Наша рассылка
Подписаться на рассылку
"C++ : cplus-plus.ru :
Рассылка статей C++"


Друзья сайта
alsproject.ru Выбор выходного разделительного конденсатора

Приветствую Вас, Гость · rss 19-Апр-2024, 11:35
Главная » 2010 » Май » 24 » Новые возможности в Visual C++ 2010
11:39
Новые возможности в Visual C++ 2010

Новые возможности в Visual C++ 2010
Описание новых и измененных функций Visual C++.Функции включают лямбда-выражения, декларатор ссылки rvalue, а также ключевые слова auto, decltype и static_assert.
Проекты Visual C++ и система построения
MSBuild

Решения и проекты Visual C++ строятся теперь с использованием MSBuild, который заменяет VCBUILD.exe.MSBuild — такой же гибкий, развитый, основанный на XML инструмент построения, используемый другими языками Visual Studio и типами проекта.Соответственно, файлы проекта Visual C++ сейчас используют формат XML-файла и имеют расширение имени VCXPROJ-файла.Файлы проекта Visual C++ из более ранней версии Visual Studio автоматически преобразуются в новый формат файла.Дополнительные сведения см. в разделе MSBuild (Visual C++).
Каталоги VC++

Параметры Каталогов VC++ теперь находятся в двух местах.Чтобы задать значения каталогов VC++ по проектам, используйте страницы свойств проекта.Для установки глобальных значений каталогов VC++ для каждой конфигурации используйте Управление свойствами и страницу свойств.
Зависимости проекта от проекта

В более ранних версиях можно было определить зависимости между проектами, которые хранились в файле решения.При преобразовании этих решений в новый формат файла проекта зависимости преобразуются в ссылки проекта на проект.Такое изменение может влиять на приложения как только понятия зависимостей решения станут отличаться от ссылок проекта на проект.
Макросы и переменные среды

Новый макрос _ITERATOR_DEBUG_LEVEL вызывает поддержку отладки для итераторов.Рекомендуется использовать этот макрос вместо устаревших макросов _SECURE_SCL и _HAS_ITERATOR_DEBUGGING.
Библиотеки Visual C++

Предупреждения /analyze

Большая часть предупреждений Параметр /analyze (анализ кода Enterprise) удалена из библиотек CRT, MFC и ATL.
Диспетчер перезапуска

Диспетчер перезапуска автоматически сохраняет документы и перезапускает приложение, если оно неожиданно закрывается или перезапускается.Например, можно воспользоваться диспетчером перезапуска для запуска приложения после закрытия его программой автоматического обновления.Дополнительные сведения о настройке приложения для использования диспетчера перезапуска см. в разделе Практическое руководство. Добавление поддержки диспетчера перезапуска.
Библиотека MFC

Класс CTaskDialog можно использовать вместо стандартного окна сообщений CTaskDialog.Класс CTaskDialog отображает и собирает больше данных, чем стандартное окно сообщений.
Новые макросы ATL

Новые макросы были добавлены в ATL для расширения функциональности PROP_ENTRY_TYPE и PROP_ENTRY_TYPE_EX.PROP_ENTRY_INTERFACE и PROP_ENTRY_INTERFACE_EX разрешает добавлять список допустимых CLSID.PROP_ENTRY_INTERFACE_CALLBACK и PROP_ENTRY_INTERFACE_CALLBACK_EX разрешает указывать функцию обратного вызова для определения допустимости CLSID.
Новые библиотеки

SafeInt Library выполняет безопасные арифметические операции, ответственные за целочисленное переполнение.Библиотека также сравнивает различные виды целых чисел.

IDE

Улучшенная система ошибок IntelliSense

В Visual Studio 2010 комплексная среда разработки (IDE) лучше распознает ошибки, которые могут привести к потере IntelliSense, и подчеркивает их красной волнистой линией.Кроме того, интерфейс IDE сообщает обо всех ошибках IntelliSense в Окне списка ошибок.Для отображения кода, который вызвал проблему, дважды щелкните ошибку в Окне списка ошибок.
Функция автозавершения #include

Интерфейс IDE поддерживает автозавершение для ключевого слова #include.При введении слова #include интерфейс IDE создает раскрывающийся список допустимых файлов заголовка.Если продолжить вводить имя файла, интерфейс IDE фильтрует список файлов согласно вводимому тексту.В любой момент можно выбрать в списке файл, который необходимо включить.Это позволяет быстро включать файлы, если неизвестны их точные имена.

Компилятор и компоновщик Visual C++

Ключевое слово "auto"

Ключевое слово auto имеет новую цель.Значение ключевого слова auto, заданное по умолчанию, используется для объявления переменной, тип которой выводится из выражения инициализации в объявлении переменной.Параметр компилятора /Zc:auto вызывает либо новое, либо предыдущее значение ключевого слова auto.
Оператор decltype

Оператор decltype возвращает тип указанного выражения.Оператор decltype используется в сочетании с ключевым словом auto для объявления типа, который является комплексным или известен только компилятору.Например, это сочетание используется для объявления функции шаблона, возвращаемый тип которой зависит от типов аргументов шаблона.Или же для объявления функции шаблона, вызывающей другую функцию и возвращающей возвращаемый тип вызываемой функции.
Лямбда-выражения

Лямбда-функции имеют тело функции, но не имеют имени.Лямбда-функции сочетают лучшие характеристики указателей функций и объектов функций.
Лямбда-функция используется самостоятельно как параметр функции шаблона вместо объекта функции или вместе с ключевым словом auto для объявления переменной, тип которой — lambda.
Ссылка Rvalue

Декларатор ссылки rvalue (&&) объявляет ссылку на rvalue.Ссылка rvalue позволяет использовать семантику перемещения и точную пересылку для написания более эффективных конструкторов, функций и шаблонов.
Объявление static_assert

Объявление static_assert тестирует утверждение программного обеспечения во время компилирования в отличие от других механизмов утверждения, которые выполняют тестирование во время выполнения.Если утверждение не выполняется, не выполняется и компилирование. При этом выводится сообщение об ошибке.
Ключевые слова nullptr и __nullptr

Компилятор Visual C++ позволяет использовать ключевое слово nullptr с машинным или управляемым кодом.Ключевое слово nullptr показывает, что обработка объекта, тип внутреннего или собственного указателя не указывает на объект.Компилятор обрабатывает nullptr как управляемый код при использовании параметра компилятора /clr и как машинный код, когда параметр /clr не используется.
Ключевое слово __nullptr корпорации Microsoft имеет такое же значение, как и nullptr, но относится только к машинному коду.При компиляции машинного кода C/C++ с использованием параметра компилятора /clr, компилятор не может определить, относится ли ключевое слово nullptr к машинному или управляемому типу.Чтобы сделать запрос понятным для компилятора, используется ключевое слово nullptr для указания управляемого типа и __nullptr для указания машинного типа.
Параметры компилятора /Zc:trigraphs

По умолчанию поддержка триграфов отключена.Для включения поддержки триграфов используйте параметр компилятора /Zc:trigraphs.
Триграф состоит из двух последовательных вопросительных знаков (??) , за которыми следует третий уникальный знак.Компилятор заменяет триграф на соответствующий знак пунктуации.Например, компилятор заменяет триграф ??= на знак # (решетка).Следует использовать триграфы в файлах ресурсов С, которые используют набор символов, не содержащий определенных знаков пунктуации.
Новый параметр профильной оптимизации

PogoSafeMode — новый параметр профильной оптимизации, позволяющий указывать, какой режим следует использовать при оптимизации приложения: быстрый или безопасный.Безопасный режим — потокобезопасный, но работает медленнее быстрого режима.Быстрый режим — поведение по умолчанию.
Новый параметр общеязыковой среды выполнения (CLR) /clr:nostdlib

Новый параметр добавлен для /clr (Common Language Runtime Compilation).Если различные версии одних и тех же библиотек включены, выдается ошибка компилятора.Новый параметр позволяет исключать библиотеки среды CLR по умолчанию, что позволяет программе использовать указанную версию.
Новая pragma-директива detect_mistmatch

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

Инструменты

Мастер элементов управления ATL

Мастер элементов управления ATL теперь не заполняет автоматически поле ProgID.Если элемент управления ATL не имеет ProgID,, другие инструменты могут не работать с ним.Одним из примеров инструмента, требующего от элементов управления наличия ProgID, является диалоговое окно Вставить активный объект.Дополнительные сведения о диалоговом окне см. в разделе Диалоговое окно "Вставка элемента управления ActiveX".
Мастер классов MFC

Visual Studio 2010 заново вводит мастер классов MFC.Мастер классов можно вызвать из любого места данного решения.Мастер позволяет добавлять классы, сообщения и переменные без изменения отдельных файлов кода вручную.

Категория: Новости | Просмотров: 1450 | Добавил: FazaNaka | Теги: C++ 2010, возможности C++, новые возможности, Visual C++ | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]