![]() |
|
   [ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ] |
|
|
Самая мощная версия C++ за всю историю языкаВведение Улучшенные мастера При помощи нового AppWizard ничего не стоит написать приложение под браузер, способное использовать функциональные возможности Internet Explorer 4 для отображения веб-контента. В файлах ресурсов проекта теперь можно хранить Dynamic HTML и другие ресурсы Windows, такие, как растровые карты, значки и курсоры, так что в создаваемые программы можно закладывать свой собственный гипертекстовый механизм. (Новый класс MFC CHtmlView позволяет создавать браузероподобные приложения, инкапсулируя функции Internet Explorer.) Посредством AppWizard в любом создаваемом приложении можно автоматически задействовать панели инструментов ReBars, изменяющиеся в размерах и <прилипающие> к краям экрана. Упрощенние работы Мы нашли это средство чрезвычайно полезным; чтобы выбрать метод, даже не нужно набирать его имя. К тому же, оно контекстно зависимо (в списке методов присутствуют лишь те, которые связаны с каждым объектом) и расширяемо (точно так же работает и с вашим собственным кодом). Кроме того, мастер IntelliSense отображает связанные с методом текстовые подсказки, так что один член группы разработчиков сможет помочь другим разобраться со специальными, введенными им методами. Наконец, при подведении курсора к любому объекту или методу автоматически всплывает окно с соответствующими параметрами. Технология IntelliSense представляет собой реальный шаг в направлении инструментов автоматизированного программирования, хотя отдельные формы динамического отображения параметров уже давно практикуются в продуктах Optima++ компании Sybase и C++Builder компании Inprise. Опытным пользователям этот инструмент не помешает, а тем, кто недостаточно знаком с MFC, окажет неоценимую услугу. Еще одним препятствием на пути к освоению С++ было отсутствие хорошего браузера классов. Предыдущие версии ClassView далеки от идеала: чтобы откорректировать отображения классов, методов или членов, как правило, приходилось рекомпилировать проект. Теперь браузер ClassView усовершенствован в нескольких направлениях. Во-первых, панель ClassView меняет свой облик по мере набора, благодаря динамическому анализу текста. Во-вторых, теперь ClassView подспудно управляет созданием операторов IDL для работы с объектами Component Object Model (COM). Это гораздо эффективнее при работе с COM на низком уровне, особенно с компонентами библиотеки Active Template Library (ATL) (которые не допускают применения инструмента MFC ClassWizard). В числе других усовершенствований среды разработки улучшенная система предупреждений об ошибках программирования и усиленные средства макроязыка для попутной записи и воспроизведения часто используемых последовательностей команд. Несколько новых ключевых слов С++ помогут опытным разработчикам создавать более быстродействующие программы. Ключевое слово _forceinline заставляет компилятор последовательно кодировать заданную функцию, а ключевое слово _assume определяет неизменные выражения, что помогает компилятору оптимизировать код. Сам компилятор теперь поддерживает перезагрузку новых операторов с удалением соответствующих старых. (Новый оператор может перезагружаться, как и в прежних версиях, но теперь в случае ошибок размещения вызывается правильная версия удаленного оператора.) Эти дополнения компилятора высокого уровня сочетаются со следованием стандарту ANSI/ISO C++, включая поддержку всех классов библиотеки Standard Library C++. Результаты тестирования Мы оценивали и процесс компоновки, который в новой версии оптимизирован, но ускорения не заметили. Однако в отдельных случаях, когда в исходный код вносится единственное изменение, после чего приложение воссоздается заново, это время сокращалось почти на 28% (что хорошо согласуется с утверждением Microsoft о 30%-м ускорении компоновки). Объясняется это главным образом оптимизацией прекомпилированных файлов заголовков. Другое преимущество новой версии - более компактные исполняемые файлы: EXE-файл программы, написанной в Visual C++ 5 и рекомпилированной в Visual C++ 6, оказывается на 17% меньше. Усовершенствования процесса отладки Участникам сложных проектов помогут и несколько других функций, облегчающих тестирование и отладку. Прежде всего, новый продукт поддерживает несколько мониторов, так что компоновку можно осуществлять на одном экране, а отладку - на другом. Это существенно облегчает выявление и преодоление проблем при конструировании интерфейса. Кроме того, Visual C++ 6 проявляет больше интеллекта при загрузке модулей DLL; теперь в окне модуля видно, какие DLL загружаются в процессе отладки. (Например, таким образом можно определить, какой DLL вызывает сбой программы.) Теперь можно помечать и откладывать загрузку DLL до тех пор, пока они не потребуются в исполняемом коде - это еще одно преимущество, облегчающее отладку крупных приложений. (Windows-приложения всегда загружали при запуске все свои DLL, если в их программе не были предусмотрены средства управления загрузкой и разрешения конфликтов.) Отладка на низком уровне в Visual C++ 6.0 также ускорена - за счет введения доступа к регистрам ММХ процессоров Pentium MMX. Шестнадцатиричные числа в формате MASM (например, <4321h>) теперь можно применять во всех выражениях отладчика, что означает заметное упрощение модификации содержимого регистров посредством команд ассемблера. Отладчик ведет себя разумнее и при отображении указателей (а также v-указателей внутри классов). Вместо трудных для восприятия шестнадцатиричных адресов он старается использовать имена методов. Одна из трудностей программирования с MFC заключается в неудобстве доступа к кодам ошибок, получаемых через вызовы GetLastError(). Visual C++ 6.0 значительно облегчает эту процедуру, отображая содержимое сообщений GetLastError() в псевдорегистре с именем ERR, так что разработчик всегда может увидеть последнюю ошибку в данном потоке своего приложения. Еще одна новая особенность MFC - функция AfxCheckError(), позволяющая программно контролировать результаты операций ActiveX/OLE. Программистам стало легче видеть и содержимое вариантов типов данных. В зависимости от типа данных в варианте (например, строка (BSTR) или типы числовых данных), его содержание отображается и помечается надлежащим образом без необходимости копаться в нем, как это было в прежних версиях. И еще одно облегчение для программистов ActiveX: теперь можно читать идентификаторы GUID и соответствующие им типы по именам, присвоенным системным реестром (если таковые имеются). Подобные функции безусловно помогут шире распространить программирование ActiveX/OLE. Усовершенствования интерфейса
Новая среда программирования Visual C++ 6 сочетает простоту применения с технологией автоматизации процессов IntelliSense, которая позволяет программировать с помощью MFC, ATL или специальных методов, не набирая весь код самостоятельно. Поддержка Windows DNA Новая поддержка ATL Сначала AppWizard предлагает широкий выбор элементов управления ATL, которые могут быть файлами DLL, EXE и даже службами Windows NT. Затем к этим компонентам добавляются конкретные объекты ATL, в качестве которых могут выступать элементы управления для веба (полные или облегченные) или элементы Internet Explorer. Наконец, можно добавить средства управления базами данных и даже воспользоваться преимуществами новых приложений Microsoft Back Office, таких, как Microsoft Transaction Server. Дополненный инструмент ClassView автоматически обеспечивает все возможности управления элементами классов, методами, обработчиками сообщений и точками сопряжения. В предыдущих версиях Visual C++ главной трудностью программирования с применением ATL была недоступность инструмента MFC ClassWizard (так как элементы ATL не опираются на традиционные функции управления MFC). При тестировании новой версии мы обнаружили, что программирование с применением ATL столь эффективно обходит инструмент ClassWizard, используемый для MFC, что старый инструмент нам не понадобился. ATL-программирование требует интенсивной работы с СОМ. Однако инструмент ClassView автоматизирует написание интерфейсов IDL и C++-прототипов для создания ATL-компонентов. Благодаря новому набору ATL-функций, включая исчерпывающий каталог веб-элементов и технологий Microsoft Back Office, программисты станут все чаще и чаще обращаться к библиотеке ATL. Вместо того, чтобы применять ее исключительно для простейших веб-элементов (для чего несколько лет назад и была создана ATL 1.0), разработчики будут рассматривать ATL как универсальную стратегию компонентов для программирования в Windows.
Мощная поддержка Active Template Library в Visual C++ охватывает разнообразные компоненты ATL, включая быстродействующие веб-элементы и компоненты, использующие такие службы Microsoft Back Office, как Microsoft Transaction Server. Средства работы с базами данных Вкладка Database Explorer в Visual C++ продолжает оставаться мощнейшей функцией, а с введением поддержки Oracle 8 круг разработчиков, использующих продукт для создания и администрирования баз данных, расширится еще больше. Помимо широкой поддержки отображения и моделирования баз данных SQL Server 6.5, в него добавлены средства визуального составления запросов и написания и отладки хранимых процедур. Неоценимую помощь оказывает поддержка отладки SQL-программ. В процессе тестирования мы не встретили трудностей при написании и пошаговом выполнении операторов SQL в среде Visual C++. Кроме того, программа выполняет синтаксический разбор SQL. Опция построения схемы позволяет документировать конструкцию базы данных, и, что еще важнее, этот документ можно применять для создания и управления соответствующими таблицами и отображениями базы данных, включая, где это возможно, объединения и триггеры.
С появлением поддержки баз данных Oracle среда Visual C++ 6 позволяет программистам баз данных проектировать и манипулировать схемами баз данных, включая дистанционную отладку SQL на сервере. Средства разработки корпоративных приложений Разработчики на Visual C++ привыкли к браузеру объектов ClassView; новая редакция Enterprise Edition содержит Microsoft Visual Modeler, полноценный моделировщик компонентов, основанный на опыте известного поставщика CASE-инструментов компании Rational Rose Software. Как и в случае с другими инструментами моделирования, Modeler позволяет создавать иерархию классов и добавлять операции и атрибуты; затем инструмент генерирует каркасный код С++. Благодаря этой возможности, продукт хорошо вписывается в процесс технологичного программирования: вы создаете и документируете иерархию классов и кодируете их по отдельности. При тестировании мы убедились в возможности импортировать в инструмент все классы MFC. Удобный Class Wizard облегчает добавление новых классов, причем классы можно экспортировать в Microsoft Object Repository и импортировать оттуда. Еще один мощный инструмент, имеющийся в редакции Enterprise Edition, - Visual Studio Analyzer, который позволяет визуализировать (и регистрировать) все компоненты СОМ, исполняемые на данной машине. Поскольку сложность современных многоуровневых систем непрерывно растет, - в особенности тех, в которых реализованы процессы типа Microsoft Transaction Server и других серверов, в комплексе обеспечивающих надежные транзакции, - их отладка быстро становится чрезвычайно трудоемкой. Analyzer делает процесс отладки реального времени сложных компонентов распределенных систем доступным для простых смертных.
Microsoft Visual C++ 6.0 Enterprise Edition включает интегрированный с классами MFS инструмент Visual Modeling для создания и документирования классов и получения других документов, необходимых в процессе анализа и проектирования. Выводы [ вверх ]
Ваш комментарий к данному материалу будет интересен нам и нашим читателям!
|
|
WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects |
|