|
2.3, Аноним (3), 10:30, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Что лучше - стальная лопата или палка-копалка из каменного века?
| |
|
3.16, _kp (ok), 12:22, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Точнее, что лучше надежная проверенная временем "титановая лопата с инкрустацией и позолотой", или китайский экскаватор.
| |
|
4.18, Анонин (?), 12:42, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Охохо, это ты про cmake?))
Щмейк скорее ржавая тупая лопата с подгнившей ручкой.
Но зато ею может пользоваться любой выпускник трех классов церковно-приходской школы.
Возможно именно поэтому он так популярен в опенсорсе.
| |
|
5.40, Аноним (-), 14:38, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Щмейк скорее ржавая тупая лопата с подгнившей ручкой.
А вон то - беззубый экскаватор без гидролиний, их придется где-то надыбать и прикрутить самому. Иначе вообще будешь копать чем под руку попадется.
| |
|
4.31, Аноним (31), 13:48, 20/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Титановая лопата - это мечта! Легкая, прочная, не ржавеет, вечная.
| |
|
5.38, 1 (??), 14:34, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Хрупкая только - медный пруток не перерубишь.
| |
|
6.55, Аноним (55), 17:05, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Помню, пилил в детстве кусок титана ножовкой по металлу и пытался молотком его согнуть.
| |
|
|
4.35, Аноним (55), 14:23, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
В Китае так то миллиард человек живёт. И жильё для них строят как раз те экскаваторы.
| |
|
|
6.54, Аноним (55), 17:04, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Дом никогда не стоил, что ли? Без фундамента его первым торнадо унесёт в страну Оз.
| |
6.79, _ (??), 22:15, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
В теперешнем Китае "землянки" - это что то-с-чем-то, о такой "землянке" ты можешь только мечтать, лаовэй :)
| |
|
7.98, Аноним (-), 03:45, 24/11/2023 [^] [^^] [^^^] [ответить] | +/– | Помню я как их там на локдаун заперли и они за продукты чуть не рубались друг с ... большой текст свёрнут, показать | |
|
|
5.75, Аноним (75), 20:53, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Владение при покупке у них в 70 лет от строительства. Потом у тебя квартиру могут отобрать (ну либо ты можешь доплатить и переехать).
| |
|
6.86, Аноним (55), 05:58, 21/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не понял, как китайцы могут отобрать у меня квартиру, и зачем мне доплачивать и переезжать в Китай.
| |
|
|
|
|
2.5, Вирт (?), 10:44, 20/11/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
Если работаете в команде то лучше cmake,
так как его много кто знает, и есть поддержка практически всего что нужно.
Если насрать на тех кто будет этот проект дальше поддерживать то лучше meson,
а еще лучше свою систему сборки написать, чтобы точно никто кроме вас не смог в этом разобраться.
| |
|
3.19, фнон (?), 12:48, 20/11/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Ты хотел сказать "Если работаете в команде и ненавидите этих #####! То лучше взять cmake - пусть они мучаются! и те кто после них придет пусть тоже мучаются!" ?
Сейчас предлагать использовать в новом проекте анахронизм, просто потому что 'его много кто знает' маскимально глупо. Современный разработчик должем мочь освоить новый инструмент.
Скидки можно давать только дидам которые на С99 до сих пор пограммируют.
| |
|
4.46, YetAnotherOnanym (ok), 15:11, 20/11/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Современный разработчик должем мочь освоить новый инструмент.
А потом сразу же ещё один. И ещё один. И ещё. И ещё.
Нефиг время тратить на написание своего кода. Надо современные инструменты осваивать. Один за другим. За каждым новым - следующий, ещё более новый.
| |
|
5.50, фнон (?), 16:30, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если новый инструмент можно освоить, напр за неделю, а потом экономить время и вместо пердоллинга писать код - то отличное решение.
Более того даже существующий инструмент может развиваться - добавляют новые функции и тд.
(это конечно не по цмейк)
| |
|
|
|
2.6, Аноним (7), 10:46, 20/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Хуже цмаке быть сложно. Сабж активно набрал популярность, это показательно. Будь всё хорошо, не бежали бы.
| |
|
3.42, Аноним (-), 14:51, 20/11/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Хуже цмаке быть сложно. Сабж активно набрал популярность, это показательно.
> Будь всё хорошо, не бежали бы.
Ну-ка расскажи, а кто это с cmake на эту штуку так уж перешел? Переходят обычно покусаные гномом и редхатом, при том с автотулсов. И там еще понятно почему - время configure у этой байды совсем неприличное. Ибо за годы отросло немеряно.
| |
3.82, Аноним (82), 23:52, 20/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Сабж активно набрал популярность, это показательно. Будь всё хорошо, не бежали бы.
Так бегут-то не с CMake, а с Autotools.
| |
|
2.13, llolik (ok), 12:18, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
meson проще, cmake фичастей. Выбирай, что больше нравится. meson может прозрачно использовать cmake для сборки подпроектов и разрешения зависимостей.
| |
2.29, Аноним (29), 13:32, 20/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Однозначно cmake. У него тулкит богаче. Как ЯП оба говно. CMake говно потому что это в первую очередь шаблонизатор строк, а не ЯП, там даже типов нет, а сделать что-либо - это боль. Meson как ЯП говно потому, что требует питон, но они начали городить свой питоноподобный ЯП вместо использования питона. Чистый NIH-синдром.
| |
|
3.63, Аноним (75), 19:04, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Зачем в системе сборки яп полный по Тьюрингу? Там максимум условия нужны.
| |
|
4.77, Аноним (77), 21:16, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вы видимо софт не собирали. А я - собирал. На CMake. С анализом системы, где сборка производится, генерацией SDK для Clang из обрывков SDK для Visual Studio и генерацией скриптов для NSIS; То ещё удовольствие. На питоне это быдо бы гораздо удобнее делать - у питона есть нормальный ЯП, пакетный менеджер и куча библиотек: парсеры C++, генераторы C++ из AST, нормальные регулярки, нормальный HTTP, нормальные библиотеки работы с бинарными форматами, нормальные библиотеки для работы с реестром, нормальный интерфейс к git...
| |
|
5.80, yet another anonymous (?), 22:41, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Авторы cmake вычисляют зависимости исключительно в меру своего понимания где и что смотреть. Отстроиться от этого нельзя, только обмануть (если получится). Один из результатов этого --- они пялятся на то, что стоит в сборочной системе при кросс-сборке. Со всеми вытекающими из этого...
Есть и другие "ньюансы", много. Объёмы же современного cmake поражают воображение...
| |
|
6.83, Аноним (83), 02:22, 21/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
>исключительно в меру своего понимания где и что смотреть
1. это понимание у них работает, и хорошо работает. Как и понимание специфики конкретных зависисмостей с наличием специфичных настроек.
2. cmake сама является де-факто стандартом предоставления инфы о зависимостях. если либа собирается с cmake+cpack правильно, то и нужный дистроспецифичный конфиг генерится.
3. они это делают, в отличие от остальных, которые вообще на всё забили.
4. даже если нет мшдуля для разыскивания нужной зависимости в системе в стандартной поставке, обычно можно стащить нужный модуль с чьего-либо гитхаба.
| |
|
5.85, all_glory_to_the_hypnotoad (ok), 02:29, 21/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Сейчас открою страшную тайну: можешь всю свою сложную логику вынести в питонячий скрипт и дёргать её из cmake, или из любой другой системы сборки. Всю дичь, которую описываешь, система сборки делать не должна. Задача сборки построить конвейер по твоим вводным и по возможности в декларативном виде, а не разбирать c++ в AST и всасысать в себя кучу императивного кода с хрен пойми чем.
| |
|
6.89, Советский инженер (ok), 12:14, 21/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Сейчас открою страшную тайну
можно конечно и так.
но даже в make встроили интерпритатор guile.
Это говорит о том что все как-то стараються сделать сборочную систему максимально полной (фичастой) , что б как раз то и не приходилось задействовать сторонние тулзы.
| |
6.91, Аноним (91), 20:16, 21/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
... и написать свою систему сборки на питоне. Гениальная идея! Тебе премию Тьюринга ещё за неё не дали?
| |
|
|
|
3.64, Аноним (75), 19:10, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Meson как ЯП говно потому, что требует питон, но они начали городить свой питоноподобный ЯП вместо использования питона. Чистый NIH-синдром.
Есть реализация месона не на питоне.
| |
|
4.76, Аноним (76), 21:10, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Есть реализация месона не на питоне.
Meson если и брать - то исключительно ради питона. Без питона мезон не нужен. И всё тут.
| |
|
3.65, Аноним (75), 19:11, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Meson как ЯП говно потому, что требует питон,
> но они начали городить свой питоноподобный ЯП
То есть как ни крути они не правы?
| |
|
4.78, Аноним (78), 21:29, 20/11/2023 [^] [^^] [^^^] [ответить] | +/– | Нет Проблема в том, что Meson зависит от питона, но скрипты для него не есть пи... большой текст свёрнут, показать | |
|
|
2.36, Аноним (55), 14:28, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Зачётный троллинг. Даже я знаю, что при использовании GTK будет проще одно, а с Qt - другое.
| |
2.92, Ivan_83 (ok), 23:51, 21/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Оба так себе, но всё остальное ещё хуже.
CMake тянет кучу зависимостей чтобы собратся на голой системе, некоторые из зависимостей собираются с помощью Meson, так что забавно выходит.
Meson - питонообразное поделие, кажется тянущее за собой питон со всеми вытекающими.
Если месон ещё немного прирастёт зависимостями то получится депенсити луп.
У месона меньше крутилок и он больше полагается на всякие дефолты в сторонних утилитах, так что если pkgconf убогий где то чудит то обойти это из мезона будет сложнее чем в CMake.
У CMake обычно портянки больше и их сложнее читать в силу более громоздкого синтаксиса, тот endif() как пример.
Но возможно просто Meson не используется в сложных проектах.
| |
|
1.8, pashev.ru (?), 10:51, 20/11/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> В методы проверки компилятора compiler.compiles(), compiler.links() и compiler.run() добавлена опция "werror: true", при которой предупреждения компилятора трактуются как ошибки (можно использовать для проверки, что код собирается без предупреждений).
А в автотулз для этого ничего делать не надо. Просто установить переменную окружения CFLAGS.
| |
|
2.9, Аноним (7), 11:06, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
CCPFLAGS или CXXFLAGS, пойди угадай что сегодня. Которая из них проыеряла работоспособность компилятора? Автотулс был удобен тем, что тебе не пихали вендорлок, как с месоном (привет гтк с его неотключаемыми в месоне бэкдорами).
| |
|
3.10, Аноним (10), 11:59, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Которая из них проыеряла работоспособность компилятора?
CPPFLAGS - флаги препроцессора, CXXFLAGS - флаги компилятора плюсов. Давайте поможем найти жулику^Wэксперту опеннета флаг для компилятора?
| |
|
4.12, Аноним (7), 12:11, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> CPPFLAGS - флаги препроцессора, CXXFLAGS - флаги компилятора плюсов. Давайте поможем найти
> жулику^Wэксперту опеннета флаг для компилятора?
Так почему их смешивают постоянно, вместо использования по назначению? Кроме того, это не ответ на вопрос. Я вот часто сталкиваюсь с тем, что линкер обламывается на дефолтных параметрах. Это можно считать неработоспособностью компилятора тоже. А то потом тот же Хромиум на 10 часу компиляции внезапно обламывается.
| |
|
5.37, Аноним (55), 14:30, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
В 10-м сообщении ведь есть ответ на вопрос. Потому что эксперты не знают, что cpp это не "си плюс плюс", а "си пре процессор".
| |
|
6.48, Аноним (7), 16:00, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Но не отвечает на вопрос, что переопределять. Подсказка, помимо этих есть ещё минимум 10 других (и это только известные мне).
| |
6.49, фнон (?), 16:20, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Всегда думал что с++ это "С + старые костыли + новые костыли"
а вот оно как (°ロ°)
| |
|
7.58, Аноним (55), 17:23, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
с++ это выражение постинкремент, т.е. результатом его вычисления окажется значение с до увеличения на 1.
| |
|
|
7.88, Аноним (55), 06:06, 21/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Угу, так всегда и было. А потом Страуструп написал свой препроцессор Cfront.
| |
|
|
5.61, Аноним (10), 18:47, 20/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Примерно так выглядит дефолтное правило make для компиляции C++ сорцов:
COMPILE.cc = ${CXX} ${CXXFLAGS} ${CPPFLAGS}
.cc.o:
${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}
На расширения особо смотреть не надо, допускается и cc, и cpp, и cxx. В конечном итоге будет одна команда с набором флагов, и не имеет значения из каких переменных она была составлена.
| |
|
|
|
2.26, Аноним (24), 13:16, 20/11/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Автотулзы - это хтонь и только за их упоминание в положительном ключе надо ставить на учет в ПНД.
| |
|
3.43, Аноним (-), 14:54, 20/11/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Однако в отличие от сабжа оно умеет make-файлы генерить, а не рассказывает что это расово неверно. И поддерживает в цать раз больше разных платформ. А сабж кроме винды, пары линуксов и может макоси если повезет, с полутора компилерами, нихрена и не умеет.
При том автотулсовый configure по минимуму пошлет на всем чем угодно с posix shell. Даже на vxworks каком. А эта шляпа там вообще не запустится.
| |
|
4.47, all_glory_to_the_hypnotoad (ok), 15:56, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А сабж кроме винды, пары линуксов и может макоси если повезет, с полутора компилерами, нихрена и не умеет.
Так в мире других ОС и компиляторов больше не существует для >99% софта. И настолько кроссплатформенный софт давно уже массово не пишут и твои эти 'в цать раз больше' платформ мало кто успел потрогать за жизнь. Формально можешь завернуть сборку в autotools и сказать что теперь у тебя ПО доступно для всего, но по факту то оно будет работать только там, где ты лично его смог отладить.
| |
4.66, Аноним (75), 19:13, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ты ещё забыл, что просто для сборки проекта autotools не нужны, достаточно баша.
| |
|
5.67, Аноним (75), 19:16, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Всмысле что если проект использует autotools и сгенерированным configure , то для сборки нужен только баш
| |
|
6.72, Советский инженер (ok), 20:17, 20/11/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Всмысле что ... нужен только баш
всмысле нужен баш, кореутилс, ну и мейк. ну может еще перл, а так да, ваще ничего не надо
| |
|
|
|
|
2.39, Аноним (55), 14:37, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
А "можно использовать для проверки, что код собирается без предупреждений" делается тривиальным вызовом grep, или как-то ещё проще?
| |
|
3.41, Аноним (55), 14:38, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Кажись, дошло. Они флаг к компилятору устаналивают, а не разбирают вывод.
| |
|
|
1.15, Аноним (15), 12:21, 20/11/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Не понял как программа на python работает быстрее программы на плюсах?
| |
|
2.17, _kp (ok), 12:29, 20/11/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не понял как программа на python работает быстрее программы на плюсах?
Основной тормоз, это сами компиляторы.
А издержки управляющей программы пренебрежимо малы по сравнению с этим.
| |
|
3.21, uis (??), 12:59, 20/11/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Но если компиляторы одни, а издержки <E, то каким образом оно быстрее
| |
3.27, Аноним (24), 13:18, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Никак нет. Можно написать так, что компиллятор не развернет в оптимальные инструкции. Особенно на плюсах.
| |
|
2.28, Советский инженер (ok), 13:27, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Не понял как программа на python работает быстрее программы на плюсах?
а я не понял в связи с чем у тебя возник этот вопрос?
можно цитату из новости?
| |
2.32, llolik (ok), 14:17, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Более лёгкий для разбора синтаксис (соответственно, более простой анализатор), более простой генеротор кода сборки (изначально под ninja заточенный), более простая логика разрешения зависимостей (pkg-config-ом/компилятором).
Так что выбор языка тут играет не так сильно, как логика работы.
| |
2.44, Аноним (-), 14:55, 20/11/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Не понял как программа на python работает быстрее программы на плюсах?
Вообще есть и вариант этого на сях - muon называется.
| |
|
|
2.22, фнон (?), 13:02, 20/11/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
все что угодно лучше чем цмейк
чего только стоит отвратительный синтаксис вида
set(x, "value_1;value_2;value_3")
| |
|
3.45, all_glory_to_the_hypnotoad (ok), 15:06, 20/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
Питонячий вариант ['value_1', 'value_2', ''value_3'] не лучше, а в CMake можно сделать просто как (... value_1 value_2 value_3). И тут же проблема не в синтаксисе, а что CMake вариант резервирует часть символов и кучу слов как кейворды из-за чего их нельзя использовать где-либо в значениях. Но, правда, на практике такие коллизии почти не встречаются.
| |
|
|
1.34, Cradle (?), 14:23, 20/11/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
да, интересно, можно на сабже делать embedded проект с несколькими кроссплатформенными таргетами, чтобы у каждого свой тулчейн? Если кто подскажет по делу, викину cmake на помойку
| |
|
2.96, Аноним (96), 03:14, 24/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
А в meson три способа указать внешнюю зависимость, скачать и установить.
Зачем вам этот Conan?
| |
|
1.90, Аноним (90), 15:22, 21/11/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Automake к датам файлов докапывается: сбросил дату у файлов, чтобы отследить что установилось, а он отказываеься собирать. Meson не жалуется и не останавливается.
| |
1.93, Аноним (93), 11:58, 23/11/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Старый добрый premake никогда не подводил. Можно добавлять генераторы без перекомпиляции. Можно отключать генераторы которые не поддерживаешь. Короче сказка.
| |
|
2.99, an2 (?), 04:49, 24/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
На гитхабе что-то только беты. 4.4-beta уже 12 лет. 5.0-beta.
| |
|
1.97, Аноним (96), 03:15, 24/11/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Переписать на С собираеться автор или также помрет как что-то там на Perl-е написанное...
| |
|
2.101, Аноним (-), 05:59, 24/11/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Переписать на С собираеться автор или также помрет как что-то там на
> Perl-е написанное...
Хрен знает, но авторы muon именно это и сделали. Вообще не спрашивая никого - просто взяли и запилили парсер этого же яп на сях. Потому что могут.
Если что пакет в дебиан-убунтуобразных называется muon-meson. Самое приятное что с питонятиной может случиться это ее переписывание =)
| |
|
|