Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
EfimKR
53 / 26 / 10
Регистрация: 24.06.2014
Сообщений: 229
Записей в блоге: 1
#1

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

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

С++ позволяет создавать многофайловые проект. Это повышает производительность, так как программа стает модульной и ее легко изменить и тд. Но есть и еще одно преимущество, если изменить один файл в проекте то перекомпилирован будет только он.
Возник вопрос, а как среда разработки определяет что файл был изменен? И как что то подобное можно организовать в своем приложении?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 09:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа многофайлового проекта (C++):

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

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

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

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

Ошибка при сборке многофайлового проекта: "невозможно преобразовать "int" в "const golf" - C++
Сделал многофайловую программу программу, вот она: //golf.h #include <iostream> #ifndef golg_h_ #define golf_h_ const int Len =...

Сложности с построением многофайлового решения - C++
Есть 3-и класса. Каждый в файле. Не смотрите что реализация в h-ке, это просто чтобы было проще и удобнее понимать. Ошибка построения в...

3
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
23.11.2014, 09:23 #2
Цитата Сообщение от EfimKR Посмотреть сообщение
Это повышает производительность
???
Цитата Сообщение от EfimKR Посмотреть сообщение
Возник вопрос, а как среда разработки определяет что файл был изменен?
например, можно посмотреть время изменения файла и, если он обновлялся с момента последней компиляции, то компилировать его.
Цитата Сообщение от EfimKR Посмотреть сообщение
И как что то подобное можно организовать в своем приложении?
Зачем?
0
0x10
2483 / 1658 / 249
Регистрация: 24.11.2012
Сообщений: 4,132
23.11.2014, 09:28 #3
Цитата Сообщение от EfimKR Посмотреть сообщение
как среда разработки определяет что файл был изменен?
Для юниксов есть ccache
Цитата Сообщение от EfimKR Посмотреть сообщение
И как что то подобное можно организовать в своем приложении?
В своем - это в каком? В своей самописной ide?
1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3969 / 2193 / 553
Регистрация: 18.10.2014
Сообщений: 3,802
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
23.11.2014, 10:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 10:05
Привет! Вот еще темы с ответами:

Сборка многофайлового приложения: ошибка LNK2005 - C++
Привет! Помогите пожалуйста разобраться со организацией исходников. Структура такова: ColorButton.h в нем подключается Object.h и...

Беда с наследованием. Организация многофайлового приложения - C++
Вот написал такое вот чудо, работает если за коментировать любой из #include "kvadrat.h" #include "kolo.h" и соотвецтвенно их исполнения....

Компиляция многофайлового проекта: Unexpected end of file while looking for precompiled header - C++
Здравствуйте! Почему когда компилирую такой проект: testHeader.h #ifndef _TEST_HEADER_H_ #define _TEST_HEADER_H_ int...

как в решение из двух проектов из второго проекта обращаться к функциям из первого проекта - C++
Собственно данная задача возникает, когда в Blank Solution добавляем проект модульных тестов к первому проекту Empty C++. К примеру первый...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.