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

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

Войти
Регистрация
Восстановить пароль
 
noname228
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 8
#1

Компиляция и сборка многофайлового проекта - C++

26.06.2015, 19:51. Просмотров 962. Ответов 4
Метки нет (Все метки)

Допустим, у меня есть такие файлы.

SuperClass h - объявление, SuperClass cpp - реализация
SubClass h - объявление, SubClass cpp - реализация. Этот класс унаследован от SuperClass.

main.cpp

Я все раздельно прокомпилировал, получил 3 файла, SuperClass.o SubClass.o main.o, а потом все в единый файл programm.o.
В SuperClass я решил убрать некоторые приватные методы/поля, поменял реализацию некоторых публичных методов (но не менял имени) и добавил несколько публичным методов, ввел к этому классу еще один SuperSuperClass - от которого теперь наследуется SuperClass.

Потом скомпилировал SuperClass и SuperSuperClass и снова соединил все файлы компновщиком.
Все прекрасно работает, правильно? То что main.o/SubClass.o я не перекомпилировал, а там указано старое определение SuperClass и нет никакой информации об обновленной иерархии наследования, ничего страшного?

Все может плохо работать, если я удалю/изменю имя публичных/протектед методов, которые могут использоваться в других файлах, и все?

Добавлено через 40 минут
А вдруг, я еще захочу добавить в SuperClass дополнительный виртуальный метод? Не перекомпилировав остальные файлы.

Добавлено через 9 минут
Я просто хочу проверить, не свихнулся ли я.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2015, 19:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Компиляция и сборка многофайлового проекта (C++):

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

Работа многофайлового проекта - C++
С++ позволяет создавать многофайловые проект. Это повышает производительность, так как программа стает модульной и ее легко изменить и тд....

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

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

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

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

4
Справлюсь
23 / 23 / 5
Регистрация: 24.07.2014
Сообщений: 209
26.06.2015, 19:55 #2
вы так пробовали делать?
0
noname228
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 8
27.06.2015, 11:14  [ТС] #3
Да.

Добавлено через 14 часов 37 минут
Неужели никто не ответит?
0
hoggy
6862 / 3069 / 525
Регистрация: 15.11.2014
Сообщений: 6,983
Завершенные тесты: 1
27.06.2015, 12:42 #4
Цитата Сообщение от noname228 Посмотреть сообщение
Неужели никто не ответит?
если бы изменили лишь реализацию какой то функции,
которая находится в библиотеке - беды бы не было.

но вы нарушили ODR:
в двух единицах трансляций находится один и тот же класс,
но при этом там он имеет разное строение (разный размер).

здесь трудно не прострелить себе голову.
0
Croessmah
27.06.2015, 12:44     Компиляция и сборка многофайлового проекта
  #5

Не по теме:

Цитата Сообщение от hoggy Посмотреть сообщение
здесь трудно не прострелить себе голову.
причем через ногу

0
27.06.2015, 12:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2015, 12:44
Привет! Вот еще темы с ответами:

Компиляция проекта - C++
Столкнулся с проблемой при переносе построенного решения с одной машины на другую. После того как на одной машине построил решение(ОС...

Компиляция большого проекта - C++
Здравствуйте уважаемые программисты. Есть очень большой проект c++, + data base мне надо компилировать его на своем компьютере и так...

Компиляция проекта через .bat - C++
В интернете ничего не нашёл толкового... как скомпилировать проект через .bat со всеми подключаемыми библиотеками. Нужно с помощью...

Компиляция проекта Visual Studio 2008 - C++
Вот жмем мы на кнопку "Начать отладку" программа запускается, если нема ошибок, то компилируется. А если я пишу какую нить прогу которую...


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

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

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