57 / 30 / 13
Регистрация: 24.06.2014
Сообщений: 255
Записей в блоге: 1
1

Работа многофайлового проекта

23.11.2014, 09:06. Показов 1233. Ответов 3
Метки нет (Все метки)

С++ позволяет создавать многофайловые проект. Это повышает производительность, так как программа стает модульной и ее легко изменить и тд. Но есть и еще одно преимущество, если изменить один файл в проекте то перекомпилирован будет только он.
Возник вопрос, а как среда разработки определяет что файл был изменен? И как что то подобное можно организовать в своем приложении?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2014, 09:06
Ответы с готовыми решениями:

Создание многофайлового проекта
Читаю у Липмана: "Функции должны быть объявлены в файлах заголовка, а определены в файлах...

Создание многофайлового проекта
Здравствуйте, я написал программу которая работает. Мне сказали разбить программу на функции и...

Функция класса многофайлового проекта
Всем доброго времени суток! Создал проект с классом, сделал *.h для функций, функции описал вне...

Создание многофайлового проекта в Borland 5.02
Кто знает как создать многофайловый проект в среде Borland 5.02

3
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
23.11.2014, 09:23 2
Цитата Сообщение от EfimKR Посмотреть сообщение
Это повышает производительность
???
Цитата Сообщение от EfimKR Посмотреть сообщение
Возник вопрос, а как среда разработки определяет что файл был изменен?
например, можно посмотреть время изменения файла и, если он обновлялся с момента последней компиляции, то компилировать его.
Цитата Сообщение от EfimKR Посмотреть сообщение
И как что то подобное можно организовать в своем приложении?
Зачем?
0
3254 / 2056 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
23.11.2014, 09:28 3
Цитата Сообщение от EfimKR Посмотреть сообщение
как среда разработки определяет что файл был изменен?
Для юниксов есть ccache
Цитата Сообщение от EfimKR Посмотреть сообщение
И как что то подобное можно организовать в своем приложении?
В своем - это в каком? В своей самописной ide?
1
С чаем беда...
Эксперт CЭксперт С++
10014 / 5360 / 1467
Регистрация: 18.10.2014
Сообщений: 12,926
23.11.2014, 10:05 4
Цитата Сообщение от EfimKR Посмотреть сообщение
Возник вопрос, а как среда разработки определяет что файл был изменен?
В простейшем и наиболее широко используемом случае: просто сравнивается время последнего изменения исходного файла с временем создания результата компиляции этого файла.

Например, результатом компиляции файла 'a.cpp' является объектный файл 'a.obj'. Если время последнего изменения 'a.cpp' больше времени создания 'a.obj', то 'a.cpp' будет перекомпилирован и, соответственно, 'a.obj' - пересоздан заново.

Разумеется, чтобы все это работало правильно, компилятор еще должен следить за временами последнего изменения файлов, включенных в 'a.cpp' через #include.

Этот принцип применяется на всех уровнях процесса компиляции. Также, например, если объектный файл 'a.obj' затем входит в состав выполнимого файла 'program.exe', и время создания 'a.obj' оказывается больше времени создания 'program.exe', то 'program.exe' будет пересобран из объектных файлов заново.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2014, 10:05
Помогаю со студенческими работами здесь

Компиляция и сборка многофайлового проекта
Допустим, у меня есть такие файлы. SuperClass h - объявление, SuperClass cpp - реализация...

Как разобраться со сборкой многофайлового проекта
В теории я считал что понимаю как происходят подключения файлов, их сборка (те работа линковщика,...

Ошибка при компиляции многофайлового проекта
Добрый вечер. Возникает ошибка при компиляции проекта, состоящего из 3-х файлов. В программе...

Функции и их применение. Разработка многофайлового проекта


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru