SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Эффективное использование среды
разработки и компилятора C++
Денис Васильев
Менеджер по RAD-продуктам
Embarcadero Technologies
denis.vasilyev@embarcadero.com
Новый C++ компилятор на базе CLANG
• Поддержка стандарта C++11
• Новый LLVM C++ компилятор для Win32
– Получил название: bcc32c
– «Классический компилятор» (bcc32) также доступен
– Win32 и Win64 компиляторы основаны на версии 3.3 CLANG и LLVM
Help:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/BCC32C
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Clang-enhanced_C++_Compilers
Компиляторы в RAD Studio 10 Seattle
Object Pascal и C++ Compilers
• Windows 32-bit и 64-bit
• Mac OS X
• Android ARM v7
• iOS ARMv7, ARM 64-bit
• iOS Simulator (только Object Pascal)
Итого: 7 OP и 7 C++
MAC OS X
… следите за новыми версиями. 
bcc32c: C++ компилятор на базе CLANG
• Полная поддержка спецификаций языка C++ 11
• Многопоточный компилятор C++
Info:
https://ru.wikipedia.org/wiki/C++11
Новые возможности языка C++11
• Доступные возможности C++ для Win32, Win64, iOS
– auto
– Nullptr
– Smart pointers
– Lambdas
– Move semantics
– Range-based for loops
– Override и final
– Strongly-typed enums
– non-member begin() и end()
– static_assert и type traits
– …
Help:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/C++11_Features_Supported_by_RAD_Studio_Clang-enhanced_C++_Compilers
http://habrahabr.ru/post/182920/
Параллельная компиляция для C++ компилятора на базе CLANG
• Позволяет компилятору, основанному на CLANG
архитектуре, одновременно обрабатывать несколько
файлов, используя раздельные ядра центрального
процессора, для сокращения времени компиляции.
• Чтобы включить параллельную компиляцию:
– Project > Options > C++ Compiler > General Compilation
• Включить “Enable Batch Compilation”
– Project > Options > Project Properties
• Включить опцию "Run C++ compiler in a separate process".
• Выбрать число параллельных подпроцессов
• Важно: число подпроцессов, которые вы выбираете, не может
быть больше, чем число ядер у вашего центрального
процессора
Разрабатывайте крупные проекты в IDE – создавайте и отлаживайте
большие проекты с миллионами строк кода
• Поддержка IDE вдвое больших по размеру проектов
– IDE способно использовать 4 Гб памяти, а ранее было 2 Гб
• Оптимизирован механизм кеширования юнитов
– Когда собираются несколько проектов в группу
• Автовосстановление несохраненных файлов
– В случае сбоя IDE исходные файлы могут быть восстановлены
• Параллельная компиляция для C++ компилятора на базе CLANG
Автовосстановление - механизм восстановления несохраненных файлов в
случае сбоя IDE и других неприятностях
• Несохраненные файлы проекта сохраняются в подпапку «__recovery»
• При следующем запуске IDE появится диалог восстановления
Help:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/AutoRecover
(!) Помним, что есть еще AutoSave
Улучшения в IDE - для удобства и экономии времени разработчика
• Скрытие не визуальных компонентов
• Иконки компонентов в «Structure»
• Фильтрация свойств и событий в «Object Inspector»
• Полная настройка вида «Object Inspector»
• Плавающие элементы управления
• Клавиши для изменения размера шрифта в редакторе
• Поддержка нескольких мониторов в IDE
Поддержка нескольких мониторов в IDE – возможность разместить
формы и панели на разных мониторах для более эффективной разработки
Повышение производительности с IDE
• Интегрированная статистика по проекту
• Инструмент просмотра истории буфера обмена
• Инструмент расширенной вставки текста
• Плавающие элементы управления
• Структурная подсветка
• Панель инструментов для навигации по коду
• Умные кнопки (Smart keys)
• Не визуальные возможности
• И другое
Другие усовершенствования в IDE
• Интегрированные инструменты
– Обновлена библиотека для интеграции с SVN (1.8.13)
• Лучшие возможности Castalia интегрированы в IDE
• Улучшена поддержка импорта старых проектов
– Начиная с Delphi 1 и C++Builder 3
• Новый внешний вид диалога Select Directory
– Обновленная форма выбора каталога
• Синхронизация прототипов в Object Pascal
Tools API – набор интерфейсов для расширения IDE, в т.ч. меню, toolbars, макросы,
список дел, сообщения, редактор кода и редактор форм и т.п.
Help:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Extending_the_IDE_Using_the_Tools_API
Модуль System.Hash – содержит классы для хеширование данных
• Новый класс THashSHA2, который реализует SHA-2
• Новые реализации метода GetHMACAsBytes
Help:
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Hash
(!) Помним, что есть еще LockBox (TurboPack)
Модуль System.Zip – содержит классы для работы с zip-архивами
• Новый метод TZipFile.ExtractZipFile
• Новое событие TZipFile.OnProgress
Help:
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Zip.TZipFile
(!) Помним, что есть еще System.ZLib , Abbrevia (TurboPack)
Улучшения в JSON
• Улучшения модуля System.JSON
– TJSONObject.ParseJSONValue, TJSONObject.Parse, TJSONBool ...
• Новый модуль System.JSON.BSON
– для работы с альтернативным форматом BSON
• Новые модули System.JSON.Readers и System.JSON.Writer
– для чтения и генерации данных в формате JSON на лету, без предварительного
построения полного JSON дерева в памяти
Help:
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.JSON
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.JSON.BSON
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.JSON.Readers
Модуль System.IOUtils - содержит классы TDirectory, TPath и TFile для
облегчения работы с файлами и директориями на всех платформах
• Метод TPath.GetSharedDocumentsPath теперь возвращает другой путь
на платформе Android
Help:
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TPath.GetSharedDocumentsPath
Было в XE8 : /storage/emulated/0/Android/data/com.embarcadero.Project1/files
DUnitX - инструмент, позволяющий производить автоматическое тестирование
модулей на платформе Windows, OS X, Android, iOS и iOS Simulator
Help:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/DUnitX_Overview
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Developing_Tests_with_DUnitX
Android и iOS
Embarcadero Community – панель инструментов для
быстрого доступа к сообществу
Быстрый доступ к:
• сообщениям
• событиям
• вопросам
Info:
http://community.embarcadero.com/all-events/
http://community.embarcadero.com/answers/index/
GetIt - менеджер пакетов для удобного поиска, загрузки и обновления
исходного кода библиотек, компонентов, IoT из IDE в несколько кликов
Еще …
• Расширение FireDAC для MongoDB
• Улучшения в DataSnap
• Улучшения в FireDAC
• Расширения для поддержки облачных сред (Cloud)
• Нативная поддержка HTTP и HTTPS
• …
RAD Solution Pack - коллекция VCL и FMX инструментов и компонентов для Delphi
и C++ Builder, которые повышают эффективность разработки и производительность
• TeeChart Pro v2015 for VCL & FMX
• FastReport VCL 5 Professional
• FastReport FMX 2
• FastCube VCL 2
• FastCube FMX
• Woll2Woll InfoPower Grids
• Woll2Woll FirePower Grids
• Konopka Signature VCL Controls
• CodeSite Studio 5
• Radiant Shapes
• AppAnalytics
• BeaconFence
* лицензируется отдельно
Help:
http://www.embarcadero.com/ru/products/rad-solution-pack
TeeChart - многофункциональная библиотека компонентов для составления
диаграмм в виде двухмерных и трехмерных графиков, диаграмм и шкал
Info:
http://www.steema.com/teechart/vcl/
FastReport VCL 5 Pro / FastReport FMX 2 - кроссплатформенный генератор
отчётов с широчайшими возможностями для Delphi и C++Builder
Info:
http://www.fast-report.com/ru/product/fast-report-vcl-5/
http://www.fast-report.com/ru/product/fast-report-fmx/
Help:
https://www.fast-report.com/public_download/FR5UserManual-ru.pdf
FastCube VCL 2 / FastCube FMX - средство оперативной аналитической
обработки больших массивов данных и итоговых таблиц для Delphi и C++Builder
Info:
http://www.fast-report.com/ru/product/fast-cube-2/
http://www.fast-report.com/ru/product/fast-cube-fmx/
Help:
https://www.fast-report.com/public_download/fc2/ProgrammerManual.pdf
Woll2Woll InfoPower Grids / Woll2Woll FirePower Grids – набор
компонентов для создания табличного представления в VCL и FMX приложениях
Info:
http://www.woll2woll.com/
Help:
http://download.woll2woll.com/downloads/OverviewInfoPowerStudio10.pdf
http://download.woll2woll.com/downloads/OverviewFirePower6_0.pdf
Konopka Signature VCL Controls – решение для быстрого проектирования
интерфейсов для Windows-приложений, отвечающие современным требованиям
Help:
http://www.embarcadero.com/ru/products/konopka-signature-vcl-controls/
http://www.raize.com/devtools/RzComps/RC6WhatsNew.pdf
CodeSite - система журналирования или логирования, которая позволяет вести
удобный и, главное, максимально информативный лог работы приложения
Help:
http://www.raize.com/devtools/codesite/
Radiant Shapes - набор визуальных fmx-компонентов, которые сделают более
ярким любое приложение FireMonkey на любой платформе
Help:
http://www.raize.com/DevTools/RadiantShapes/
AppAnalitycs – инструмент сбора анонимной статистики работы приложений и
поведений пользователей и ее последующий анализ
Help:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_AppAnalytics_in_VCL
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_AppAnalytics_in_FireMonkey
BeaconFence - решение для отслеживания местоположения пользователя без GPS
и поддержки связанных с этим событий
Версии пакетов в RAD Solution Pack
Вопросы?
Спасибо.
Денис Васильев
Менеджер по RAD-продуктам
Denis.Vasilyev@embarcadero.com
http://habrahabr.ru/users/DenisVasilyev/topics
http://www.slideshare.net/DenisVasilyev1/presentations
Office
Embarcadero Technologies
russia.info@embarcadero.com

Weitere ähnliche Inhalte

Was ist angesagt?

Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 SeattleWebinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 SeattleDenis Vasilyev
 
Seminar: Взаимодействие приложений и IoT
Seminar: Взаимодействие приложений и IoTSeminar: Взаимодействие приложений и IoT
Seminar: Взаимодействие приложений и IoTDenis Vasilyev
 
Обзор Haxe & OpenFl
Обзор Haxe & OpenFlОбзор Haxe & OpenFl
Обзор Haxe & OpenFlDevOWL Meetup
 
Кроссплатформенная разработка на Haxe
Кроссплатформенная разработка на HaxeКроссплатформенная разработка на Haxe
Кроссплатформенная разработка на HaxeEugene Veretennikov
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Storesandy97
 
3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linux3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linuxsandy97
 
1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)sandy97
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreTatyanazaxarova
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это былоMskDotNet Community
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27MoscowJS
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтраSergey Rubanov
 
Игра "Путь в Силиконовую долину"
Игра "Путь в Силиконовую долину"Игра "Путь в Силиконовую долину"
Игра "Путь в Силиконовую долину"Margaret
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковCodeFest
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Ontico
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Ontico
 
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NETДенис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NETElias Fofanov
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияElias Fofanov
 
дипломная презентация по разработке проекта развертывания терминального сервера
дипломная презентация по разработке проекта развертывания терминального серверадипломная презентация по разработке проекта развертывания терминального сервера
дипломная презентация по разработке проекта развертывания терминального сервераIvan Simanov
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHPMaxim Sivokon
 

Was ist angesagt? (20)

Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 SeattleWebinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
 
Seminar: Взаимодействие приложений и IoT
Seminar: Взаимодействие приложений и IoTSeminar: Взаимодействие приложений и IoT
Seminar: Взаимодействие приложений и IoT
 
Обзор Haxe & OpenFl
Обзор Haxe & OpenFlОбзор Haxe & OpenFl
Обзор Haxe & OpenFl
 
Кроссплатформенная разработка на Haxe
Кроссплатформенная разработка на HaxeКроссплатформенная разработка на Haxe
Кроссплатформенная разработка на Haxe
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linux3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linux
 
1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
 
Елизавета Голенок Переходим на mono или как это было
Елизавета Голенок  Переходим на mono или как это былоЕлизавета Голенок  Переходим на mono или как это было
Елизавета Голенок Переходим на mono или как это было
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтра
 
Игра "Путь в Силиконовую долину"
Игра "Путь в Силиконовую долину"Игра "Путь в Силиконовую долину"
Игра "Путь в Силиконовую долину"
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
 
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NETДенис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
Денис Давыдов - Кроссплатформенные инструменты серверной разработки .NET
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестирования
 
дипломная презентация по разработке проекта развертывания терминального сервера
дипломная презентация по разработке проекта развертывания терминального серверадипломная презентация по разработке проекта развертывания терминального сервера
дипломная презентация по разработке проекта развертывания терминального сервера
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHP
 

Andere mochten auch

Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Noveo
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Noveo
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Noveo
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Noveo
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Noveo
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Noveo
 
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Noveo
 
Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Noveo
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Noveo
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)Noveo
 
Android - 05 - Android basics
Android - 05 - Android basicsAndroid - 05 - Android basics
Android - 05 - Android basicsNoveo
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Noveo
 
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)Антон Звонов
 
Fragments (Lecture 09 – Fragments)
Fragments (Lecture 09 – Fragments)Fragments (Lecture 09 – Fragments)
Fragments (Lecture 09 – Fragments)Noveo
 

Andere mochten auch (20)

Thread
ThreadThread
Thread
 
Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
 
Lec 13
Lec 13Lec 13
Lec 13
 
Lec 9
Lec 9Lec 9
Lec 9
 
Canvas
CanvasCanvas
Canvas
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
 
Lec 10
Lec 10Lec 10
Lec 10
 
Lec 12
Lec 12Lec 12
Lec 12
 
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
 
Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)
 
Android - 05 - Android basics
Android - 05 - Android basicsAndroid - 05 - Android basics
Android - 05 - Android basics
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
 
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
 
Fragments (Lecture 09 – Fragments)
Fragments (Lecture 09 – Fragments)Fragments (Lecture 09 – Fragments)
Fragments (Lecture 09 – Fragments)
 

Ähnlich wie Seminar: Эффективное использование среды разработки и компилятора C++

What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.Igor Shkulipa
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureStas Pavlov
 
Сущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCoreСущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCoreTatyanazaxarova
 
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»SpbDotNet Community
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Vladimir Bakhov
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииDenis Latushkin
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergrationInterSystems
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETDev2Dev
 
Модульная структура
Модульная структураМодульная структура
Модульная структураDenis Tsvettsih
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17MoscowJS
 
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxПавел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxPlatonov Sergey
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 

Ähnlich wie Seminar: Эффективное использование среды разработки и компилятора C++ (20)

What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке Azure
 
Сущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCoreСущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCore
 
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложении
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NET
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxПавел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 

Seminar: Эффективное использование среды разработки и компилятора C++

  • 1. Эффективное использование среды разработки и компилятора C++ Денис Васильев Менеджер по RAD-продуктам Embarcadero Technologies denis.vasilyev@embarcadero.com
  • 2. Новый C++ компилятор на базе CLANG • Поддержка стандарта C++11 • Новый LLVM C++ компилятор для Win32 – Получил название: bcc32c – «Классический компилятор» (bcc32) также доступен – Win32 и Win64 компиляторы основаны на версии 3.3 CLANG и LLVM Help: http://docwiki.embarcadero.com/RADStudio/Seattle/en/BCC32C http://docwiki.embarcadero.com/RADStudio/Seattle/en/Clang-enhanced_C++_Compilers
  • 3. Компиляторы в RAD Studio 10 Seattle Object Pascal и C++ Compilers • Windows 32-bit и 64-bit • Mac OS X • Android ARM v7 • iOS ARMv7, ARM 64-bit • iOS Simulator (только Object Pascal) Итого: 7 OP и 7 C++ MAC OS X … следите за новыми версиями. 
  • 4. bcc32c: C++ компилятор на базе CLANG • Полная поддержка спецификаций языка C++ 11 • Многопоточный компилятор C++ Info: https://ru.wikipedia.org/wiki/C++11
  • 5. Новые возможности языка C++11 • Доступные возможности C++ для Win32, Win64, iOS – auto – Nullptr – Smart pointers – Lambdas – Move semantics – Range-based for loops – Override и final – Strongly-typed enums – non-member begin() и end() – static_assert и type traits – … Help: http://docwiki.embarcadero.com/RADStudio/Seattle/en/C++11_Features_Supported_by_RAD_Studio_Clang-enhanced_C++_Compilers http://habrahabr.ru/post/182920/
  • 6. Параллельная компиляция для C++ компилятора на базе CLANG • Позволяет компилятору, основанному на CLANG архитектуре, одновременно обрабатывать несколько файлов, используя раздельные ядра центрального процессора, для сокращения времени компиляции. • Чтобы включить параллельную компиляцию: – Project > Options > C++ Compiler > General Compilation • Включить “Enable Batch Compilation” – Project > Options > Project Properties • Включить опцию "Run C++ compiler in a separate process". • Выбрать число параллельных подпроцессов • Важно: число подпроцессов, которые вы выбираете, не может быть больше, чем число ядер у вашего центрального процессора
  • 7. Разрабатывайте крупные проекты в IDE – создавайте и отлаживайте большие проекты с миллионами строк кода • Поддержка IDE вдвое больших по размеру проектов – IDE способно использовать 4 Гб памяти, а ранее было 2 Гб • Оптимизирован механизм кеширования юнитов – Когда собираются несколько проектов в группу • Автовосстановление несохраненных файлов – В случае сбоя IDE исходные файлы могут быть восстановлены • Параллельная компиляция для C++ компилятора на базе CLANG
  • 8. Автовосстановление - механизм восстановления несохраненных файлов в случае сбоя IDE и других неприятностях • Несохраненные файлы проекта сохраняются в подпапку «__recovery» • При следующем запуске IDE появится диалог восстановления Help: http://docwiki.embarcadero.com/RADStudio/Seattle/en/AutoRecover (!) Помним, что есть еще AutoSave
  • 9. Улучшения в IDE - для удобства и экономии времени разработчика • Скрытие не визуальных компонентов • Иконки компонентов в «Structure» • Фильтрация свойств и событий в «Object Inspector» • Полная настройка вида «Object Inspector» • Плавающие элементы управления • Клавиши для изменения размера шрифта в редакторе • Поддержка нескольких мониторов в IDE
  • 10. Поддержка нескольких мониторов в IDE – возможность разместить формы и панели на разных мониторах для более эффективной разработки
  • 11. Повышение производительности с IDE • Интегрированная статистика по проекту • Инструмент просмотра истории буфера обмена • Инструмент расширенной вставки текста • Плавающие элементы управления • Структурная подсветка • Панель инструментов для навигации по коду • Умные кнопки (Smart keys) • Не визуальные возможности • И другое
  • 12. Другие усовершенствования в IDE • Интегрированные инструменты – Обновлена библиотека для интеграции с SVN (1.8.13) • Лучшие возможности Castalia интегрированы в IDE • Улучшена поддержка импорта старых проектов – Начиная с Delphi 1 и C++Builder 3 • Новый внешний вид диалога Select Directory – Обновленная форма выбора каталога • Синхронизация прототипов в Object Pascal
  • 13. Tools API – набор интерфейсов для расширения IDE, в т.ч. меню, toolbars, макросы, список дел, сообщения, редактор кода и редактор форм и т.п. Help: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Extending_the_IDE_Using_the_Tools_API
  • 14. Модуль System.Hash – содержит классы для хеширование данных • Новый класс THashSHA2, который реализует SHA-2 • Новые реализации метода GetHMACAsBytes Help: http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Hash (!) Помним, что есть еще LockBox (TurboPack)
  • 15. Модуль System.Zip – содержит классы для работы с zip-архивами • Новый метод TZipFile.ExtractZipFile • Новое событие TZipFile.OnProgress Help: http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Zip.TZipFile (!) Помним, что есть еще System.ZLib , Abbrevia (TurboPack)
  • 16. Улучшения в JSON • Улучшения модуля System.JSON – TJSONObject.ParseJSONValue, TJSONObject.Parse, TJSONBool ... • Новый модуль System.JSON.BSON – для работы с альтернативным форматом BSON • Новые модули System.JSON.Readers и System.JSON.Writer – для чтения и генерации данных в формате JSON на лету, без предварительного построения полного JSON дерева в памяти Help: http://docwiki.embarcadero.com/Libraries/Seattle/en/System.JSON http://docwiki.embarcadero.com/Libraries/Seattle/en/System.JSON.BSON http://docwiki.embarcadero.com/Libraries/Seattle/en/System.JSON.Readers
  • 17. Модуль System.IOUtils - содержит классы TDirectory, TPath и TFile для облегчения работы с файлами и директориями на всех платформах • Метод TPath.GetSharedDocumentsPath теперь возвращает другой путь на платформе Android Help: http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TPath.GetSharedDocumentsPath Было в XE8 : /storage/emulated/0/Android/data/com.embarcadero.Project1/files
  • 18. DUnitX - инструмент, позволяющий производить автоматическое тестирование модулей на платформе Windows, OS X, Android, iOS и iOS Simulator Help: http://docwiki.embarcadero.com/RADStudio/Seattle/en/DUnitX_Overview http://docwiki.embarcadero.com/RADStudio/Seattle/en/Developing_Tests_with_DUnitX Android и iOS
  • 19. Embarcadero Community – панель инструментов для быстрого доступа к сообществу Быстрый доступ к: • сообщениям • событиям • вопросам Info: http://community.embarcadero.com/all-events/ http://community.embarcadero.com/answers/index/
  • 20. GetIt - менеджер пакетов для удобного поиска, загрузки и обновления исходного кода библиотек, компонентов, IoT из IDE в несколько кликов
  • 21. Еще … • Расширение FireDAC для MongoDB • Улучшения в DataSnap • Улучшения в FireDAC • Расширения для поддержки облачных сред (Cloud) • Нативная поддержка HTTP и HTTPS • …
  • 22. RAD Solution Pack - коллекция VCL и FMX инструментов и компонентов для Delphi и C++ Builder, которые повышают эффективность разработки и производительность • TeeChart Pro v2015 for VCL & FMX • FastReport VCL 5 Professional • FastReport FMX 2 • FastCube VCL 2 • FastCube FMX • Woll2Woll InfoPower Grids • Woll2Woll FirePower Grids • Konopka Signature VCL Controls • CodeSite Studio 5 • Radiant Shapes • AppAnalytics • BeaconFence * лицензируется отдельно Help: http://www.embarcadero.com/ru/products/rad-solution-pack
  • 23. TeeChart - многофункциональная библиотека компонентов для составления диаграмм в виде двухмерных и трехмерных графиков, диаграмм и шкал Info: http://www.steema.com/teechart/vcl/
  • 24. FastReport VCL 5 Pro / FastReport FMX 2 - кроссплатформенный генератор отчётов с широчайшими возможностями для Delphi и C++Builder Info: http://www.fast-report.com/ru/product/fast-report-vcl-5/ http://www.fast-report.com/ru/product/fast-report-fmx/ Help: https://www.fast-report.com/public_download/FR5UserManual-ru.pdf
  • 25. FastCube VCL 2 / FastCube FMX - средство оперативной аналитической обработки больших массивов данных и итоговых таблиц для Delphi и C++Builder Info: http://www.fast-report.com/ru/product/fast-cube-2/ http://www.fast-report.com/ru/product/fast-cube-fmx/ Help: https://www.fast-report.com/public_download/fc2/ProgrammerManual.pdf
  • 26. Woll2Woll InfoPower Grids / Woll2Woll FirePower Grids – набор компонентов для создания табличного представления в VCL и FMX приложениях Info: http://www.woll2woll.com/ Help: http://download.woll2woll.com/downloads/OverviewInfoPowerStudio10.pdf http://download.woll2woll.com/downloads/OverviewFirePower6_0.pdf
  • 27. Konopka Signature VCL Controls – решение для быстрого проектирования интерфейсов для Windows-приложений, отвечающие современным требованиям Help: http://www.embarcadero.com/ru/products/konopka-signature-vcl-controls/ http://www.raize.com/devtools/RzComps/RC6WhatsNew.pdf
  • 28. CodeSite - система журналирования или логирования, которая позволяет вести удобный и, главное, максимально информативный лог работы приложения Help: http://www.raize.com/devtools/codesite/
  • 29. Radiant Shapes - набор визуальных fmx-компонентов, которые сделают более ярким любое приложение FireMonkey на любой платформе Help: http://www.raize.com/DevTools/RadiantShapes/
  • 30. AppAnalitycs – инструмент сбора анонимной статистики работы приложений и поведений пользователей и ее последующий анализ Help: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_AppAnalytics_in_VCL http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_AppAnalytics_in_FireMonkey
  • 31. BeaconFence - решение для отслеживания местоположения пользователя без GPS и поддержки связанных с этим событий
  • 32. Версии пакетов в RAD Solution Pack
  • 33. Вопросы? Спасибо. Денис Васильев Менеджер по RAD-продуктам Denis.Vasilyev@embarcadero.com http://habrahabr.ru/users/DenisVasilyev/topics http://www.slideshare.net/DenisVasilyev1/presentations Office Embarcadero Technologies russia.info@embarcadero.com