Инструменты пользователя

Инструменты сайта


examination:oop:question23

23. Файловая структура программы: заголовочные файлы, файлы кодов. Файлы как модули. Организация компиляции и выполнения программы.

Файловая структура программы определяется следующий образом: главной функцией, которая инициализирует работу приложения является функция main, как правило эту функцию располагают в отдельном main.cpp файле.

Определения классов и функций обычно располагают в заголовочных файлах. Непосредственно реализации этих классов располагают в *.cpp файлах.

Такие архитектурные особенности связанны с тем, что в процессе компиляции программ из cpp файлов генерируются различные объектные модули. Так как часто приходится перекомпилировать приложения, если бы код и интерфейсы располагались в одних и техже файлах. то на этапе компиляции приходилось бы какждый раз анализировать весь код компилятору, а это заняло бы довольно длительный промежуток времени. При вынесении основного кода в *.cpp файлы, при повторной компиляции приходится перекомпилировать только измененные участки кода, а это значительно сокращает время сборки приложений.

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

ОРГАНИЗАЦИЯ КОМПИЛЯЦИИ И ВЫПОЛНЕНИЯ ПРОГРАММЫ:

Так как пройцесс компиляции программ связан с довольно большим количеством команд, а для больших приложений это вообще ад, то существуют специальны средства автоматизации сборки приложений, это специальные файлы, которые описывают сборку приложения из исходных кодов. В этих файла обычно содержится какая-то основная цель сборки + различные зависимости для этой целевой сборки. При попытке выполнить компиляцию программы сначала будут собранны специфические зависимости для цели, затем будут собрана сама основная цель.

examination/oop/question23.txt · Последние изменения: 2014/01/15 08:22 (внешнее изменение)