Table | Card | RUSMARC | |
Allowed Actions: –
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
Group: Anonymous Network: Internet |
Annotation
Магистерская диссертация посвящена рассмотрению возможностей автоматизации процессов миграции исходного кода, написанного согласно стандарту C++14 в исходный код в рамках стандарта C++03. В работе произведен краткий обзор отличий указанных стандартов, а также рассмотрены способы автоматического преобразования части нововведений C++14 в аналогичные по функциональности конструкции из C++03. Также в работе кратко описаны возможности по созданию инструментов для преобразования исходного кода, предоставляемых программным интерфейсом “Clang LibtTooling".
Document access rights
Network | User group | Action | ||||
---|---|---|---|---|---|---|
ILC SPbPU Local Network | All |
![]() ![]() ![]() |
||||
Internet | Authorized users SPbPU |
![]() ![]() ![]() |
||||
![]() |
Internet | Anonymous |
Table of Contents
- ВВЕДЕНИЕ
- 1 Актуальность работы
- 1.1 Современное состояние языка C++
- 1.2 Существующие примеры миграции кода
- 1.2.1 Компиляторы в JavaScript
- 1.2.2 Программный пакет ROSE
- 1.2.3 DMS Software Reengineering Toolkit
- 1.2.4 Компиляторы SystemC
- 2 Поиск отличий в стандартах языка
- 2.1 Выбор инструментария
- 2.2 Список нововведений C++14 относительно C++03
- 2.2.1 Семантика переноса
- 2.2.2 Инициализация полей
- 2.2.3 Шаблоны с переменным числом аргументов
- 2.2.4 Списки инициализации
- 2.2.5 Универсальная инициализация
- 2.2.6 Статическая диагностика
- 2.2.7 Вывод типов
- 2.2.8 Альтернативный синтаксис функции
- 2.2.9 Лямбда-выражения
- 2.2.10 Угловые скобки
- 2.2.11 Аргументы шаблона по-умолчанию для функций
- 2.2.12 Псевдонимы шаблона и типа
- 2.2.13 Внешние шаблоны
- 2.2.14 Константа нулевого указателя
- 2.2.15 Улучшенные перечисления
- 2.2.16 Стандартный синтаксис атрибутов
- 2.2.17 Обобщённые константные выражения
- 2.2.18 Управление выравниванием
- 2.2.19 Делегация конструкторов
- 2.2.20 Наследование конструкторов
- 2.2.21 Изменения в запрете явного преобразования
- 2.2.22 Новые строковые литералы
- 2.2.23 <<Необработанные>> строковые литералы
- 2.2.24 Пользовательские литералы
- 2.2.25 Явное указание методов по-умолчанию
- 2.2.26 Явный запрет использования методов
- 2.2.27 Получение размера полей без создания экземпляра
- 2.2.28 <<Прозрачные>> пространства имен
- 2.2.29 Улучшенные объединения
- 2.2.30 Циклы по коллекции
- 2.2.31 Явное замещение виртуальных функций и финальность
- 2.2.32 Литералы двоичных чисел
- 2.2.33 Шаблоны переменных
- 2.2.34 Разделители разрядов
- 3 Рассмотрение возможностей автоматической миграции
- 3.1 Clang, как инструмент работы с исходным кодом
- 3.1.1 Возможности программного интерфейса LibTooling
- 3.2 Описание способов миграции
- 3.2.1 Инициализация полей
- 3.2.2 Универсальная инициализация
- 3.2.3 Вывод типов
- 3.2.4 Лямбда-выражения
- 3.2.5 Псевдонимы шаблона и типа
- 3.2.6 Улучшенные перечисления
- 3.2.7 Делегация конструкторов
- 3.2.8 Наследование конструкторов
- 3.2.9 Изменения в запрете явного преобразования
- 3.2.10 <<Необработанные>> строковые литералы
- 3.2.11 Пользовательские литералы
- 3.2.12 Явное указание методов по-умолчанию
- 3.2.13 Явный запрет использования методов
- 3.2.14 Получение размера полей без создания экземпляра
- 3.2.15 Циклы по коллекции
- 3.2.16 Явное замещение виртуальных функций и финальность
- 3.2.17 Литералы двоичных чисел
- 3.2.18 Шаблоны переменных
- 3.2.19 Разделители разрядов
- 3.1 Clang, как инструмент работы с исходным кодом
- 4 Тестирование
- 4.1 Реализация инструментов миграции
- 4.2 Методика и результаты тестирования
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ А. Таблица нововведений стандарта C++11
- ПРИЛОЖЕНИЕ Б. Таблица нововведений стандарта C++14
Usage statistics
|
Access count: 246
Last 30 days: 0 Detailed usage statistics |