170 похожих чатов

(Мало ли появилось в природе. Помнится, спрашивал. Вроде не было.) Есть

ли какой-нибудь инструмент, способный раскидать сторонний h-файл на несколько, с учётом namespace-ов, возможно достав шаблоны из тела класса, и прочее?

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

16 ответов

13 просмотров

обколются своими single header only, а потом билд 3 дня собирается

Ты вообще понимаешь, что это сразу же UB, multiple definition?

Если это производитель сделает, это одно, а ты не должен

🐈- Автор вопроса
Ilya Zviagin
Ты вообще понимаешь, что это сразу же UB, multiple...

если честно не совсем понимаю откуда

не встречал таких инструментов - обычно разработчики пишут нормальный код и при желании склеивают его в один хедер (amalgamation). наоборот это просто нереально в общем случае

🐈
если честно не совсем понимаю откуда

Ну у тебя было одно определение скажем класса в большом заголовке. ты разобрал чужой заголовок на куски? Разобрал. Теперь имеешь другое определение того же класса. Кто даст гарантии, что ты , пока разбирал, ничего там не сломал? Ведь это легко делается, многое в С++ зависит от контекста определения.

Ilya Zviagin
Ну у тебя было одно определение скажем класса в бо...

Тем более что там весь файл, судя по всему, макросами и директивами условной компиляции обмазан.

Sergey Anisimov
Тем более что там весь файл, судя по всему, макрос...

Конечно. Так что нарушение ODR там просто на раз получить можно. Очень просто.

🐈
если честно не совсем понимаю откуда

Чуви, ну вот ты же долго уже с нами, должен же понимать, что этот вопрос надо было в ПРО задавать...

🐈- Автор вопроса
Ilya Zviagin
Чуви, ну вот ты же долго уже с нами, должен же пон...

Тут есть одна проблема. Мне иногда мои вопросы не кажутся пригодными для pro. Там всё-таки вопросы посерьёзнее. А это так, для новичков. )

Отличная библиотека, много ей пользуюсь. Если не секрет, то зачем её разбивать?

Это можно относительно просто сделать через тулинг clang: вынести определения функций в cpp, сгруппировать остальное по неймспейсам Заодно убрать эти замечательные запакованные шрифты на несколько килобайт из хедера) Но надо немножко кода написать

Sergey Skvortsov
Это можно относительно просто сделать через тулинг...

Сергей, напоминаю, у нас полуофициальное разрешение на бан за пропоганду UB, оно действует!

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта