Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решенные оветы на теорию Си.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
166.91 Кб
Скачать

12. Этапы сборки приложения с использованием компилятора gcc в среде разработки Linux / qt Creator.

Для того, чтобы создать приложение на языке C в интегрированной среде разработки Qt Creator (работающей, к примеру в ОС GNU/Linux) требуется запустить Qt Creator, выбрать (рассмотрена английская версия IDE) пункт File → New File of Project → Non-Qt Project → Plain C Project (Plain C++ Project для возможности использования возможностей языка C++, таких как try-catch, передача аргументов по ссылки и т.п.). После этого выбрать имя и папку расположения проекта.

В случае правильно установленного и настроенного Qt Creator-а и наличия компилятора gcc (g++ для C++) сборка осуществляется выбором пункта меню Build → Build all или нажатием горячей клавиши Ctrl+Shift+B.

Если среда не настроена должным образом, то перед сборкой требуется её настроить. Для этого надо зайти в свойства Qt Creator (Tools → Options), выбрать Build & Run, вкладка Qt Versions, где указать путь к qmake (часто: /usr/bin/qmake), вкладка Tool Chains, где указать путь к g++ (часто: /usr/bin/g++).

13. Особенности сборки программы в среде разработки qt-Creator.

Qt Creator может использовать для сборки как qmake в связке с make, так и cmake. В случае использования первого варианта, Qt Creator при сборке вызывает qmake, который по файлу проекта создаёт make-файл, в котором содержатся все правила для сборки приложения. После этого запускается make, который вызывает компилятор и компоновщик по правилам из сгенирированного файла.

Файл проекта Qt Creator имеет расширение .pro. Создание .pro файла проекта выглядит следующим образом:

Создадим пустой файл 10_Make_Qt.pro и добавим строки: SOURCES += main.cpp numerical.cpp text_statistics.cpp HEADERS += numerical.h text_statistics.h Поскольку требуется создать консольное приложение, укажем это в параметрах: CONFIG += console По умолчанию проект собирается с подключением библиотеки Qt. Т. к. это не требуется, уберём параметр qt из переменной CONFIG: CONFIG -= qt

14. Контроль ошибок в процессе сборки программы: ошибки сборки, ошибки компиляции, утечки памяти, выход за границы,…

В Си. errno.h — заголовочный файл стандартной библиотеки языка программирования С, содержащий объявление макроса для идентификации ошибок через их код. POSIX-совместимые операционные системы, наподобие Unix и Linux, могут включать другие макросы для определения ошибок через собственные коды errno. Значение errno имеет смысл только тогда, когда системный вызов или функция возвращает признак ошибки.

assert.h — заголовочный файл стандартной библиотеки языка программирования С, в котором объявляется макрос препроцессора языка С assert(). Данный макрос реализует исключение, которое может использоваться для проверки сделанных программой вычислений.

Макрос assert() добавляет к программе процедуру диагностики. После выполнения, если выражение ложно (то есть, результат сравнения 0), assert() пишет информацию о вызове в поток stderr и вызывает функцию abort(). Информация, которая пишется в stderr включает в себя:

  • текст выражения, значение которого равно нулю 0

  • имя файла с исходным кодом (предопределённый макрос __FILE__)

  • строка у файла с исходным кодом (предопределённый макрос __LINE__)

Для того, чтобы отключить проверку, не обязательно исключать её из кода или комментировать объявление макроса, достаточно лишь объявить ещё один макрос — NDEBUG в программе перед #include <assert.h>, тогда объявление макросаassert() будет иметь следующий вид:

#define assert(ignore)((void) 0)

и поэтому никак не будет влиять на работу программы.