Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
dima_30
0 / 0 / 1
Регистрация: 12.06.2013
Сообщений: 7
#1

Реализация раздельной компиляции

12.06.2013, 19:18. Просмотров 1015. Ответов 4
Метки нет (Все метки)

Здравствуйте!

Я самоучка поэтому я...
Я облазил кучу различных источников, но понял только принцип, по которому осуществляется раздельная компиляция...
Как же реализовать её я так и не понял. Если точнее я не понял как должна выглядеть прога, из которой генерируется obj-файл, для его компоновки с основной прогой... Если не сложно не могли бы вы привести пример...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 19:18
Ответы с готовыми решениями:

Порядок раздельной компиляции 3 файлов
Что-то не пойму, объясните мне на пальцах, как откомпилировать три файла (1...

Не видно определений функций при раздельной компиляции
Описал класс и его наследника в заголовочном файле; самые громоздкие...

Заголовочный файл или Механизм раздельной компиляции
Здравствуйте в данный момент я изучаю C++. Среда разработки Visual Studio 2010...

Как создать объект класса? ПРоблемма из-за раздельной компиляции
Есть 4 файла engine.h - базовый класс engine.cpp - реализация методов...

При раздельной компиляции не работает перегрузка операторов ввода-вывода
разделил программу и при компиляции компилятор ругается на объявление...

4
zss
Модератор
Эксперт С++
7068 / 6608 / 4184
Регистрация: 18.12.2011
Сообщений: 17,412
Завершенные тесты: 1
12.06.2013, 19:23 #2
Если пользоваться MS Visual Studio, то об этом парится не надо.
По команде "Построить приложение" выполняется компиляция всех исходников
и сборка exe файла.
0
dima_30
0 / 0 / 1
Регистрация: 12.06.2013
Сообщений: 7
12.06.2013, 19:35  [ТС] #3
Да сколько не старался вопрос написал криво... Он моему истинному вопросу не очень соответствует...

Короче... Предположим это моя прога:
C++
1
2
3
4
5
6
7
8
9
10
11
...
int x = 15;
void func (); // - эта функция должна выводить на экран переменную x (std::cout << x);
 
int main ()
    {
    func ();
    
    system ("pause");
    ...
    }
Далее предположим, что тело (определение) функции func () я хочу вынести в отдельный cpp-файл скомпилировать 1 раз и больше не трогать... Можете, пожалуйста, написать как должен выглядеть этот cpp-файл?

Или я может что-то вообще не понял и это не относится к раздельной компиляции? Я совсем запутался ...
0
zss
Модератор
Эксперт С++
7068 / 6608 / 4184
Регистрация: 18.12.2011
Сообщений: 17,412
Завершенные тесты: 1
12.06.2013, 21:14 #4
Никто не мешает вынести функцию в отдельный файл,
который, конечно, тоже подключается к проекту.
Компилятор будет компилировать только те файлы проекта,
которые изменились.

Есть альтернативный вариант.
Можно создать проект, формирующий dll файл.
Тогда в проекте, использующем эту dll, для линковщика указывается соответствующий Lib файл.
1
dima_30
0 / 0 / 1
Регистрация: 12.06.2013
Сообщений: 7
12.06.2013, 21:19  [ТС] #5
Всё... Я понял... Я тормоз... Проект - ключевое слово... Я что-то сразу не понял.
Спасибо большое!
Тема закрыта
0
12.06.2013, 21:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2013, 21:19

Нюансы раздельной компиляции: где и что лучше и правильнее размещать?
Здравствуйте! Допустим, я хочу написать интерфейс класса в h-файле, а его...

Как правильно использовать заголовочные файлы при раздельной компиляции в MS Visual Studio?
Если я использую функцию cout и cin в каждом модуле, мне нужно в каждом модуле...

Создать функцию которая возводит число в квадрат, использовать принцип раздельной компиляции
Создать функцию которая возводит число в квадрат. Использовать принцип...


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

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

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