Правильный хедер всегда защищен от повторного компилирования. Типа #ifndef heder_h

то ... и только в этом случае идет компиляция?

23 ответов

12 просмотров

А если в разных объектных файлах?

Слава
А если в разных объектных файлах?

блин, прежде чем браться за кьют, изучайте C++ сначала. Разные объектные файлы компонуются в один исполняемый файл. И даже если в разных объектных файлах одной программы определены одинаковые функции, то линковщик будет ругаться при сборке исполняемого файла

Слава
а мне зачем об этом пишешь?

ну так а что за вопрос: а если в разных объектных файлах? Я ведь и написал, что в разных

а хедер и не компилируется ж

ifndef это защита при компиляции одного объектного файла

Michael Chambers
а хедер и не компилируется ж

компилируется. Но компиляция объявления и определения даёт разные результаты

Sergey eSKon
компилируется. Но компиляция объявления и определе...

тогда вы что-то другое имеете ввиду под компиляцией...

Alexander-Koryagin Автор вопроса
Слава
А если в разных объектных файлах?

Я помещал некоторые служебные функции в хедер формы сбилдера и никаких дубляжей не было если был определен входной #ifndef... А хедер формы был во всех модулях этой формы.

Michael Chambers
тогда вы что-то другое имеете ввиду под компиляцие...

компиляция это создание объектного файла - ничего другого я в виду не имел

Sergey eSKon
глупейший совет, ну реально

А какие проблемы с инлайном?

Sergey eSKon
что "это"?

то что текстовые файлы компилируются

Слава
А какие проблемы с инлайном?

то есть вы пишете очень сложную функцию, которая в результате даёт десятки мегабайт объектного кода и добавляете inline. В результате у вас эта функция будет появляться столько раз сколько вы её заинкладили, но с другими внутренними именами (да, при компиляции инлайн-функции присваивается уникальное внутренее имя, в результате гарантируется что такая фунция будет одна, но при этом одинаковых функций с разными именами у вас появится столько сколько раз вы заинкладите такое)

Sergey eSKon
то есть вы пишете очень сложную функцию, которая в...

Вы наверное инлайн со статик перепутали

Слава
Вы наверное инлайн со статик перепутали

блин, ребята, вы серьёзно? Ну откройте справочник любой, не позорьтесь

Sergey eSKon
блин, ребята, вы серьёзно? Ну откройте справочник ...

It has the same address in every translation unit. https://en.cppreference.com/w/cpp/language/inline

Sergey eSKon
и?

Функция имеет один и тот же адресс во всех единицах трансляциях -> в исполняемом файле она одна лежит, а не много на каждую единицу трансляцию. Или это сложно осознать?

Sergey eSKon
то есть вы пишете очень сложную функцию, которая в...

inline - просьба, компилятор в праве отказать, никаких функций с уникальными именами конечно же не генерится. inline в современном его варианте - это способ борьбы с нарушением ODR

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет, у меня такой вопрос, заказчику нужно чтобы бот собирал данные о количестве просмотров на определенных постах, уже все перерыл, как то можно реализовать та...
AdmM
3
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
привет, а расскажите как бэкапите свой vault raft cluster CE? я немного почитал и понял, что нужно как-то выполнять vault operator raft snapshot save backup.snapshot подсовыва...
[DBST] Dmitry Knyazev
5
Карта сайта