1 / 1 / 0
Регистрация: 05.05.2015
Сообщений: 2
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Линковка, реализация в заголовочных файлах20.06.2016, 14:48. Показов 1754. Ответов 3
Метки нет (Все метки)
Ситуация следующая. Представим себет хедер, который содержит некоторый функционал и должен использоваться в нескольких проектах. Причем хедер содержит не только заголовки а и реализацию функций/классов. Например:
SharedHeader.h :
Module1.h :
PS: В каких случаях разделять код на .h и .cpp, а в каких случаях писать реализацию сразу в заголовочных файлах. Огромная благодарность за любые ответы и ссылки на статьи, улучшающие понимание этой темы.
0
|
20.06.2016, 14:48 | |
Ответы с готовыми решениями:
3
Про добавление заголовочных файлов в заголовочных файлах Массивы в заголовочных файлах О стандартных заголовочных файлах Определение переменных в заголовочных файлах |
199 / 199 / 78
Регистрация: 10.07.2012
Сообщений: 409
|
|||||||||||
20.06.2016, 18:18 | 2 | ||||||||||
Сообщение было отмечено tvyxen как решение
Решение
Интересное наблюдение:
Вот так работает:
Вот так, кстати, тоже:
2
|
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,018
|
|
20.06.2016, 19:20 | 3 |
смысл хедеров в том, что в них описывается функционал, а сам функционал компилируется, чтоб не быть доступным для кривых ручеек, к тому же это ускоряет компиляцию
1
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
20.06.2016, 19:21 | 4 |
tvyxen, список тем, которые помогут полностью понять что происходит:
1) ODR (Правило одного определения): ссылка 1, ссылка 2. 2) Связывание (компоновка) внешнее, внутреннее: ссылка 1, ссылка 2, ссылка 3. Пункты стандарта: 3.2, 7.1.1 и 7.1.2. Там же раскрываются тонкости насчет inline и шаблонов.
2
|
20.06.2016, 19:21 | |
20.06.2016, 19:21 | |
Помогаю со студенческими работами здесь
4
Статические свойства структур в заголовочных файлах Расположение определения функций в заголовочных файлах Объявлние классов в разных заголовочных файлах Странные объявления функций в заголовочных файлах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |