powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Прекомпилированные заголовочники
25 сообщений из 58, страница 2 из 3
Прекомпилированные заголовочники
    #39979829
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза STL не юзает прекомпиляциюудивительная фраза) Вы понимаете вообще, зачем нужна прекомпиляция и что именно прекомпилируется?
Алексей Розазы: STL и Boost держат все свои сырцы в .hэта фраза ещё удивительней) попробуйте развернуть аббревиатуру STL, возможно станет понятно, почему весь её код находится в хидерах))
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979831
egorych
Вы понимаете вообще, зачем нужна прекомпиляция и что именно прекомпилируется?

ага. а вы?
egorych
попробуйте развернуть аббревиатуру STL, возможно станет понятно, почему весь её код находится в хидерах))

"Standard Template Library"
и где у вас диссонанс с тем, что я писал выше про шаблоны?
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979833
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
Мне вот лично совершенно не понравилось отдельно описывать все эти ф-и. Т.е. по факту в разных файлах держать одно и то же. В одном изменил параметры, а в другом забыл = ошибка
это пройдёт) когда одно небольшое изменение в коде приватной функции класса начнёт провоцировать ( почти ) полную пересборку проекта вместо перекомпиляции одного .cpp, тогда и приходит понимание, что держать весь код в хидере не очень хорошая идея
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979859
да какую нафиг "полную"
я не программирую одновременно И core, И app, И микросервис
а по отдельности там крохи по времени
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979862
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
да какую нафиг "полную"
я не программирую одновременно И core, И app, И микросервис
а по отдельности там крохи по времени
ну, значит, вы ещё не доросли до прекомпиляции, рад за вас
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979868
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych
ну, значит, вы ещё не доросли до прекомпиляции, рад за вас
Не не не, у Алексея, похоже, проект порезан на слои. У меня вот слои в статических либах, компиляция основного проекта действительно занимает мало времени, потому что большие куски просто прилинковываются в конце. И есть проекты, не порезанные, полная сборка которых занимает дофига времени. И прекомпиленные заголовки в таком случае очень спасают, несомненно.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979871
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей РозаА вот *так* выглядят файлы с сабжем:

Нет, как раз это-то к сабжу не имеет никакого отношения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979876
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb,

>Не не не, у Алексея, похоже, проект порезан на слои
= да. Поэтому такая экономия на спичках ему непонятна.
А на слои делят практически все).
С другой стороны, деление класса на интерфейс описания и реализацию (дублируем) мне близок еще с дельфи. Удобно смотреть что за класс и что он делает.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979906
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
Что за хамство началось. Вы тут точно за помощью?

Первым хамить начали вы.

В данном случае я тут не за помощью, а просто обсудить и услышать мнения людей.

Что по поводу вас, я пришёл к выводу, что вы не понимаете что такое прекомпилированные заголовочники и не понимаете как работает компилятор.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979940
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych
Алексей Роза STL не юзает прекомпиляцию
удивительная фраза) Вы понимаете вообще, зачем нужна прекомпиляция и что именно прекомпилируется?
А я догадался, что Алексея Розу сбивает с панталыку. В термине "прекомпиляция" его путает слово "компиляция". Поэтому он постоянно напирает на то, что прекомпилировать шаблоны бесполезно — ведь их нельзя откомпилировать пока не подставлены шаблонные аргументы. Поэтому он и выдаёт такие сентенции про STL; он думает, что прекомпиляция — это компиляция, но "пре".

Вот если бы вместо термина "прекомпиляция" использовался бы термин "препарсинг" (с тем же смыслом), то возможно Алексей твёрдо стоял бы на правильном пути. Но не факт... сомневаюсь я.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979960
CEMb
egorych
ну, значит, вы ещё не доросли до прекомпиляции, рад за вас
Не не не, у Алексея, похоже, проект порезан на слои. У меня вот слои в статических либах, компиляция основного проекта действительно занимает мало времени, потому что большие куски просто прилинковываются в конце. И есть проекты, не порезанные, полная сборка которых занимает дофига времени. И прекомпиленные заголовки в таком случае очень спасают, несомненно.

Слушайте, я не очень заморачиваюсь с названиями ок? И мне совсем не интересен "уникальный мир VS".
Я решаю задачу "сократить время компиляции своего проекта". И решается она во всех случаях одинаково: создаются откомпилированные бинарники, которые и линкуются везде. Т.е. некий кусок кода не надо снова компилировать, он уже готов. Компилируем только изменённый код.
Решение этой задачи я и описал выше.
Код можно предкомпилировать через .cpp (те самые классы с описанием), можно без .cpp, можно так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
// pch.h - его предкомпилировать (задаётся в makefile или проекте).

// C++
# include <cstdio>
# include <cmath>

// STL
# include <string>
# include <vector>
# include <map>
# include <algorithm>

// Специфичные для ОС
# include <windows.h>
// unit1.cpp
  // предкомпилируемый - первым!
# include "pch.h"
  // остальные заголовки
# include "unit1.h"

void doUnit1()
{
}


Можно сложить там самые часто-используемые либы и линковать их предкомпилированными, НО этого даже НЕ надо делать, потому что они на шаблонах!
Я вот об этом вообще не морочусь, просто юзаю .h-файл, где самые частые либы прописаны, подключаю его в каждый (из НЕмногочисленных) .cpp.
И юзаю эти "слои", как вы их назвали. И нету никаких задержек ВООБЩЕ.

ТС пришёл сюда с проблемой, которой, по сути, не существует. Он просто действует по учебнику, а я ему даю работающую модель, которая решает эту саму проблему (долгая компиляция).
Тут много народу сидит ещё с C. И они делали ещё в старом стиле, когда не было НИ шаблонов, НИ эти "слои" не юзали. Им это может не привычно, а мне норм. Сегодня это работает и сокращает геморрой.
PetroNotC Sharp
= да. Поэтому такая экономия на спичках ему непонятна.

не понятна. Вообще не понятна Понятно, что это пережиток прошлого. ЛИБО плохая архитектура.
С другой стороны, деление класса на интерфейс описания и реализацию (дублируем) мне близок еще с дельфи. Удобно смотреть что за класс и что он делает.
Ну это уже другой вопрос - удобство сопровождения классов. Но у меня и этой проблемы почему-то нет.
Я пробовал и так, и сяк. Научился как-то классы держать в порядке, без бардака. И гемора с двойным сопровождением нет.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39979967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей РозаКод можно предкомпилировать через .cpp

То есть ты совершенно не врубился о чём говорится в этой теме. Ню-ню...

Расскажи, гений, как "предкомпилировать через .срр" заголовочный файл размером в мегабайт?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980074
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
И нету никаких задержек ВООБЩЕ.
размер проекта в LOCах какой?
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980091
Dimitry Sibiryakov
То есть ты совершенно не врубился о чём говорится в этой теме. Ню-ню...

я там ссылку вообще-то дал на то, о чём говорится в этой теме
глаза раскрой.
Dimitry Sibiryakov
Расскажи, гений, как "предкомпилировать через .срр" заголовочный файл размером в мегабайт?

а чё 1, чё не 100?
есть проблемы - порежь на куски.
egorych
Алексей Роза
И нету никаких задержек ВООБЩЕ.
размер проекта в LOCах какой?

3 инклуда, 2 константы и main().
строчек 10 я думаю.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980096
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Розаесть проблемы - порежь на куски.

Ага, всего-то порезать на куски монстра, скомпилированного из IDL. Задача на пять копеек...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980103
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,
>И юзаю эти "слои", как вы их назвали.
)))
Подброшу на костер.
А что тут называют слои?
Вот, смотрю от заказчика большая ИС. Там в папке /bin около 30 бинарников.
Это тут делением на слои называют?
Или все таки модульной архитектурой?
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980108
Dimitry Sibiryakov
Алексей Розаесть проблемы - порежь на куски.

Ага, всего-то порезать на куски монстра, скомпилированного из IDL. Задача на пять копеек...
ну застрелись тогда чё.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980110
вот слои:
Алексей Роза
на самом деле, я не вижу ничего плохого в том, чтобы отдельно компилить /core/, /app/, /какой_то_микросервис/

чё там у кого в бинарниках - это отдельный вопрос.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980112
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
вот слои:
Алексей Роза
на самом деле, я не вижу ничего плохого в том, чтобы отдельно компилить /core/, /app/, /какой_то_микросервис/

чё там у кого в бинарниках - это отдельный вопрос.
ну это и ежу должно быть понятно)
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980194
если там unix-way, то это полноценная прога
вообще запускаются эти бинарники или что там? данных мало
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980201
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
если там unix-way, то это полноценная прога
вообще запускаются эти бинарники или что там? данных мало

Есть уникальная возможность исследовать.
Говори что делать.
"Когда программист потерял интерес к исследованиям - он умер" (с)
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980386
исследование ИС обычно начинается с чтения доков.
если сырцов нет, то вообще хз чего мы обсуждаем
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980387
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Розавообще хз чего мы обсуждаем

Да мы просто тебя кормим чтобы посмотреть лопнешь или нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980487
я быстрей лопну от твоего правописания
перед "чтобы" запятая.
...
Рейтинг: 0 / 0
Прекомпилированные заголовочники
    #39980496
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Розаперед "чтобы" запятая.

Увы, в данном случае не ставится, обломись.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Прекомпилированные заголовочники
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]