Skip to content

Лабораторные работы по дисциплине "Технологии программирования. C++"

Notifications You must be signed in to change notification settings

pyatizbyantsevia/CppLabs-spbspu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторные работы по дисциплине "Технологии программирования. C++"

2-й семестр 1-го курса СПбПУ ИКНТ ПИ (2021-2022 уч. г.)


Сборка работ

Для сборки и запуска работ присутствует Makefile для GNU Make. Все работы автоматически обнаруживаются и могут быть построены с использованием нескольких целей.

Идентификатором каждой работы является строка lastname.firstname/labnumber, на которую в дальнейшем ссылаются при помощи labid.

Все исходные тексты в каждой работе идентифицируются по расширению "cpp". Обнаруженные исходные тексты делятся на группы:

  • Исходные тексты работы: все файлы, имена которых не начинаются с "test-".

  • Исходные тексты тестов: все файлы, исключая файл "main.cpp".

Как видно, файл "main.cpp" стоит особняком: его назначение - функция main() выполненной работы.

Makefile автоматически строит программу для каждой работы. Так как имя программы в общем случае неизвестно, специальная цель выполняет запуск построенной программы с передачей параметров.

Поддерживаемые цели:

  • build-labid: построение лабораторной работы, например

      $ make build-ivanov.ivan/1
    
  • run-labid: запуск построенной программы, например

      $ make run-ivanov.ivan/1
    

    Для передачи дополнительных параметров используется переменная ARGS (при помощи GNU Make):

      $ make run-ivanov.ivan/1 ARGS="1 ascending"
    

    или (c использованием Bourne Shell):

      $ ARGS="1 ascending" make run-ivanov.ivan/1
    

    или (Bourne Shell, с сохранением в окружении процесса):

      $ export ARGS="1 ascending"
      $ make run-ivanov.ivan/1
    
  • test-labid: сборка и запуск тестов работы:

      $ make test-ivanov.ivan/3
    

    Переменная TEST_ARGS используется для передачи параметров тестам аналогично ARGS.

  • labs: список всех лабораторных в проекте.

Дополнительной возможностью является запуск динамического анализатора Valgrind для запускаемых программ. Для этого необходимо указать в переменной VALGRIND параметры анализатора так, как это делается для ARGS/TEST_ARGS.

Boost

Библиотека Boost может находиться в нестандартном месте. Для того, чтобы указать его, в корне проекта необходимо разместить файл .boost_location, состоящий из одной строки с путем к корню библиотеки.

Путь не должен содержать пробельные символы.

Формулировка всех лабораторных работ описана в файле c++-tasks.pdf.

Все работы написаны в рамках стандарта C++ 14.

About

Лабораторные работы по дисциплине "Технологии программирования. C++"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published