Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Есть желание сократить код, введя сокращенные названия типов. Поэтому создан нижеприведенный файл, который потом "заинклюден" ко ВСЕМ остальным файлам проекта: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Я правильно понимаю, что тем самым у меня сильно разбухает код, ведь директива "#include" рекурсивно вставляет исходных код string, vector и regex во все файлы моего проекта? Какие последствия у такого подхода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 10:49 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, открой для себя Код: plaintext 1. include - текстовая вставка компилятор/линкер дублирование уберут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 10:55 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
SiemarglAlekseySQL, открой для себя Код: plaintext 1. include - текстовая вставка компилятор/линкер дублирование уберут Дублирование то уберут, но мне не в каждом файле даже один раз нужны эти типы данных. Если развивать мой подход, то к каждому файлу по мере роста проекта будет подключена половина стандартной библиотеки + половина библиотеки Qt ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 11:13 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
"подключено" - нет такого термина. говори корректно, иначе непонятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 11:42 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLсоздан нижеприведенный файл, который потом "заинклюден" ко ВСЕМ остальным файлам проекта: Код: plaintext 1. 2. 3. 4. Я правильно понимаю, что тем самым у меня сильно разбухает код, ведь директива "#include" рекурсивно вставляет исходных код string, vector и regex во все файлы моего проекта?Странные пошли люди ... Ведь достаточно открыть один-два нормальных заголовка и увидеть что-то вроде: Код: plaintext 1. 2. 3. 4. Но, конечно, потратить часок на форуме гораздо проще, чем самому разбораться за пять минут. P.S. Время компиляции - да, просядет. Поэтому, лень должна быть обоснована, а не просто лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 12:32 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Siemargl"подключено" - нет такого термина. говори корректно, иначе непонятно Директива "include" добавляет ("подключает") в исходный текст код, который расположен в указанном файле. Другими словами, итоговый код состоит из двух кусков программы: "подключенного" библиотечного и исходного. Если в исходные тексты программ с помощью include прописать все возможные библиотечные файлы, то исходные тексты по логике должны сильно распухнуть. Вот про это собственно и вопрос: правильно ли я все понимаю и какие еще есть последствия у подобной практики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 12:32 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, больше время компиляции, ну и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 12:47 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВедь достаточно открыть один-два нормальных заголовка и увидеть что-то вроде: Код: plaintext 1. 2. 3. 4. Можно короче Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 12:54 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Dima TBasil A. SidorovВедь достаточно открыть один-два нормальных заголовка и увидеть что-то вроде: Код: plaintext 1. 2. 3. 4. Можно короче Код: plaintext 1. При подобных директивах препроцессор в КАЖДУЮ единицу компиляции включит файлы библиотек только по одному разу. Единицей компиляции в С++ является файл. Другими словами, как я и написал в каждый файл проекта по разу будет подключено куча библиотечных файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 13:48 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLЕсть желание сократить код, введя сокращенные названия типов. Маленький SSD? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 18:02 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
alex_kМаленький SSD? Спасибо, поржал:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 18:40 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Dima TBasil A. SidorovВедь достаточно открыть один-два нормальных заголовка и увидеть что-то вроде: Код: plaintext 1. 2. 3. 4. Можно короче Код: plaintext 1. Можно, но не стоит. Эта прагма не является универсальной для всех компиляторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 19:02 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLDima Tпропущено... Можно короче Код: plaintext 1. При подобных директивах препроцессор в КАЖДУЮ единицу компиляции включит файлы библиотек только по одному разу. Единицей компиляции в С++ является файл. Другими словами, как я и написал в каждый файл проекта по разу будет подключено куча библиотечных файлов.И это проблема? Тогда тебе стоит почитать про пре-компиляцию заголовков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 19:04 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
White OwlЭта прагма не является универсальной для всех компиляторов. Назови два, которые её не поддерживают. Древние версии - не в счёт. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 19:12 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovWhite OwlЭта прагма не является универсальной для всех компиляторов. Назови два, которые её не поддерживают. Древние версии - не в счёт. Древние версии как раз "в счет". В больших конторах намного труднее идти в ногу с прогрессом и обновлять не то что компиляторы, но и ОС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 19:25 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
White OwlДревние версии как раз "в счет". В больших конторах намного труднее идти в ногу с прогрессом и обновлять не то что компиляторы, но и ОС. ЕМНИП, MS VC стал поддерживать эту прагму в версии 2013, то есть пять лет назад. GCC - ещё раньше. Тормозила только SUN Studio и BCC до перехода на clang. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 19:27 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЕМНИП, MS VC стал поддерживать эту прагму в версии 2013Согласно вики - с VS2003. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 19:53 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, да нормально, прекомпилируемые заголовки как раз для лечения того что вы боитесь хорошая статейка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 20:59 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovWhite OwlДревние версии как раз "в счет". В больших конторах намного труднее идти в ногу с прогрессом и обновлять не то что компиляторы, но и ОС. ЕМНИП, MS VC стал поддерживать эту прагму в версии 2013, то есть пять лет назад. GCC - ещё раньше. Тормозила только SUN Studio и BCC до перехода на clang. А я вот до сих пор пишу для компилятора: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 21:36 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)AlekseySQL, да нормально, прекомпилируемые заголовки как раз для лечения того что вы боитесь хорошая статейка Честно говоря, статейка не по теме :) Волнует не скорость компиляции (с которой борятся предкомпилируемые заголовки), а разбухание кода из- за добавление ненужных объявлений во все файлы проекта. Из- за этого ощущение, что понижается надежность кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2018, 10:09 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, такс, пойдём от определений что вы называете размером кода? вывод после препроцессора? ну так это бред автор#include" рекурсивно вставляет исходных код string, vector и regex во все файлы моего проекта? макросы если не используются то не вставляются. Вы боитесь что если вы в двух cpp-файлах будете использовать, например, std::vector то его код вставится в объектник к каждому cpp в котором он используется, а потом дубликаты не отрежутся линкёром? надёжность кода зависит от программиста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2018, 10:44 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) Вы боитесь что если вы в двух cpp-файлах будете использовать, например, std::vector то его код вставится в объектник к каждому cpp в котором он используется, а потом дубликаты не отрежутся линкёром? Да, именно этого я и боюсь:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2018, 12:23 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, гугли extern template ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2018, 16:03 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLkealon(Ruslan) Вы боитесь что если вы в двух cpp-файлах будете использовать, например, std::vector то его код вставится в объектник к каждому cpp в котором он используется, а потом дубликаты не отрежутся линкёром? Да, именно этого я и боюсь:) Это совсем копейки. На это следует обращать внимание только если программируешь под что-то намного меньше, чем дешевый смартфон. И если вы просто накидали кучу include<> и не использовали (не инстанцировали) их классы и функции, то их код никуда не вставится и вообще не создастся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2018, 20:25 |
|
||
|
Как правильно подключить h- файлы?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL Я правильно понимаю, что тем самым у меня сильно разбухает код, ведь директива "#include" рекурсивно вставляет исходных код string, vector и regex во все файлы моего проекта? Нет, неправильно. AlekseySQLКакие последствия у такого подхода? У такого подхода ужасные последствия. во-первых, не зачем писать такие дурацкие псервдонимы, они только будут путать. using -директивы хватило бы выше крыши. Во-вторых, ты погляди, что ты там понаписал, и подумай, действительно ли ты этого хочешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2018, 00:03 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39579570&tid=2018003]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 203ms |

| 0 / 0 |
