Детальная информация

Илларионов, Юлий Сергеевич. Инструмент преобразования исходного кода на языке C++ стандарта "ISO/IEC 14882:2014" в стандарт "ISO/IEC 14482:2003" [Электронный ресурс]: магистерская диссертация: 09.04.01 / Ю. С. Илларионов; Санкт-Петербургский политехнический университет Петра Великого, Институт компьютерных наук и технологий ; науч. рук. В. М. Ицыксон. — Электрон. текстовые дан. (1 файл : 562 Кб). — Санкт-Петербург, 2017. — Загл. с титул. экрана. — Свободный доступ из сети Интернет (чтение, печать, копирование). — Adobe Acrobat Reader 7.0. — <URL:http://elib.spbstu.ru/dl/2/v17-4125.pdf>. — <URL:http://doi.org/10.18720/SPBPU/2/v17-4125>.

Дата создания записи: 18.10.2017

Тематика: Си (C); Интерфейсы; Коды

УДК: 004.438(043.3); 004.51(043.3); 004.056.55(043.3)

Коллекции: Выпускные квалификационные работы; Общая коллекция

Ссылки: DOI

Разрешенные действия: Прочитать Загрузить (0,5 Мб) Для чтения документа необходим Flash Player

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

Магистерская диссертация посвящена рассмотрению возможностей автоматизации процессов миграции исходного кода, написанного согласно стандарту C++14 в исходный код в рамках стандарта C++03. В работе произведен краткий обзор отличий указанных стандартов, а также рассмотрены способы автоматического преобразования части нововведений C++14 в аналогичные по функциональности конструкции из C++03. Также в работе кратко описаны возможности по созданию инструментов для преобразования исходного кода, предоставляемых программным интерфейсом “Clang LibtTooling".

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать Загрузить
-> Интернет Все Прочитать Печать Загрузить

Оглавление

  • ВВЕДЕНИЕ
  • 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 Разделители разрядов
  • 4 Тестирование
    • 4.1 Реализация инструментов миграции
    • 4.2 Методика и результаты тестирования
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ А. Таблица нововведений стандарта C++11
  • ПРИЛОЖЕНИЕ Б. Таблица нововведений стандарта C++14

Статистика использования документа

stat Количество обращений: 214
За последние 30 дней: 3
Подробная статистика