C++.jpg99 Кб, 1280x1083
C++ thread #151 /cpp/ 3410643 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

Ответы на вопросы:
https://en.cppreference.com/w/
https://www.cplusplus.com/reference/

Для указателей: ⚹

Прошлый тред: >>3333359 (OP)
2 3410651
>>10643 (OP)
Кто не способен быстро понять смысл этого простого выражения тот не достоин называться программистом

char ((x[3])())[5];
3 3410660
>>10651

> смысл этого


получить по жопе на ревью?
других смыслов в этом коде нет
1652322805479.png45 Кб, 1127x237
4 3410661
>>10651
Слишком просто. На пикриле сможешь понять что происходит?
5 3410684
>>10651
>>10661
Что вы сишную парашу сюда тащите, недомерки? Это плюсовой тред, хотя бы шаблонов что ли скинули
1624932579687.png81 Кб, 2625x290
6 3410688
>>10684

> шаблонов


Держи, нормальный крестовой код, компилируется и работает.
7 3410700
>>10661
>>10688
Вот по этому тред тонет и не нужен.
8 3410708
>>10661
Промежуточный код для лямбды?
Не знаю других поводов заводить динамические массивы указателей на функции. Фе, даже набирать противно.
9 3410717
>>10643 (OP)
>>10651
Указатель в память указывает, а не на тип, долбоебина безмозглая. Не говоря уже о том что это к плюсам не имеет отношения, в си тред с этим иди пусть тебе напихают хуев.
10 3410833
>>10717
Лол. Аутист, спокнись. Двач просто звездочки счавкал
11 3410865
>>10651
В шапке же специальная звездочка для указателей, чтобы копипастить ее.
12 3412558
>>10643 (OP)
Есть ли какое то будущее и плюсового разраба в рф?
что то кроме qt и эмбедед макакой стать
13 3412619
>>12558
Ты уже сам ответил на свой вопрос. С++ в вебе? Кому он нахуй нужен. Это просто не практично. Представь себе, что бекенд компилируется час. А куда ещё? Программировать роботов на ROS2? Ты сам не пойдёшь. Бот для торговли опционами/криптой? Создание игр?

В теории конечно, ROS2 мог бы стать альтернативой эмбеддед и RTOS'у, но там как в раше нихуя нет, ни стартапов ориентированных на роботов, нихуя. То в итоге и остаётся один эмбеддед.
14 3412640
>>12619
Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах, обернутые в пистон/пхп/etc модуль.
Я понимаю что макакам эти вещи знать не интересно, у них в мирке и джава не тормозит и на пистоне нейросети пишут, но ием не менее
15 3412653
>>12619
Грустно(
Устроился на первую работу qt макакой, паралельно с уником, уже пол года как. (случайно залетел вобще)
Для меня студента зп 100к это славно, да и задачи прям халявные, можно хоть пол дня хуи пинать и за пару часов таску закрывать. Но вобще не понимаю куда дальше в этой области двигаться

Развиваться в qt и десктопе? - звучит как парашная идея, включая то что десктоп мертв, тем более на плюсах писать его это ад
Углубляться в предметной области над которой сейчас работаю? - сейчас глянул на хх.ру буквально ноль вакансий с требованиями по ней (мбы мы единственные в рф кто это делает вобще)
Геймдев + комп графика? - две вакансии на рф, с тясячами откликов от челов с горящими глазами
Нейросетки? - там как будто плюсов вобще нет, а если и есть это больше ресерч

В других сферах плюсов как будто и нет, как будто из вариантов только по вечерам в веб\мобилки вкатываться
когда прочитал что у анона выше после пол года зп 200к+, немного всплакнул

>>12640

> Библиотеки


Половина опенсорсная, другая уже давно написано другими.
В итоге из вариантов:
- искать ту единственную кампанию кто этим занимается
- жить на донаты с опенсорса (это вобще реально?)
- переписывать существующие (и сразу на раст еще хехе)
16 3412664
>>12653
Плюсы (компилируемые языки) нужны везде где нужно SDK. Считаей, что везде, кроме самых примитивных кейсов. Есть либа, что обрабатывать фотки например. Есть клиенты на андроиде, вебе, айоси, десктопе. Можно имплементировать логику либы на каждой платформе отдельно, создав 5 разных решений каждое со своими багами. Или можно написать один раз на компилируемом языке, скомпилировать под нужную платформу, покинуть через адаптера вызовы и вуаля.

Поэтому я не разделяю твоего консерна.
17 3412672
>>12664
Чел, я тебя еще и в прошлом посте понял, и на него ответил
18 3412673
>>12672
Я другой анон, мимо проходил.
19 3412674
>>12640

>Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах, обернутые в пистон/пхп/etc модуль.


Ну начинается блять... Я не говорю про какие-то отдельные периодические проекты на с++. Естественно, так можно и lua приплести. Ну а чо, можно же и на lua плагины писать. Я говорю про постоянный источник заработка. Не то что ты пару раз стрельнул заказ на какой-то плагин, 500 рублей получил и хуй сосёшь. Базы данных? Ну можно. Сам-то ты сколько баз данных разработал? Сколько миллионов на этом наварил?

>>12653
Бля чувак не знаю. Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust. Весь смысл с++ это программировать микроконтроллеры. Либо углубляться в финансовую сферу, в high frequency trading и там получать сверх доходы.
20 3412676
>>12664
Как-то бредово звучит.
1) Почему на питухоне или жабке надо имплементировать логику отдельно для каждого девайса? Всегда считалось это фичей скриптовых байткодных.
2) Что ты вообще собрался не дергать специфичное апи на платформе? Не получится.
image.png53 Кб, 618x393
21 3412680
>>12558
Есть. Есть и роботы и бэкэнд и поиск. Но проблема в том что это все яндекс. Они там даже зп предлагают. Единственная загвоздка в том что эта вакансия не для тебя нихуя, а скиллового чела отучившегося в европах и штатах, ну или в наших мфти шадах, тогда мб они дадут тебе по верху этой вилки. Еще они предлагают низ вилки как видишь, это цена для всяких госушных горе эмбедщиков, но которые могут быть внезапно ахуенно ебанутыми задротами после лет 10 веслания в госушных говнетах, им они заплатят баснословные 250. В общем вакансия есть, чето даже предлагают, но нахуя это людям которые привыкли пылится в госухе, ковыряться в чем им нравится и когда им нравится или условному споротовичку олимпиаднику который сходу прыгает в хфт стартап и лутает х10 яндексоидных вилок?
22 3412683
@
ПЫТАЕШЬСЯ СДЕЛАТЬ ПРАВИЛЬНО
@
НЕ ПОЛУЧАЕТСЯ
@
ДА ПОШЛО ВСЁ НАХУЙ
@
ПЕРЕДАЕШЬ УКАЗАТЕЛЬ КАК ЧИСЛО ВО ФРОНТ ИЗ ЛИБЫ
@
ВО ФРОНТЕ В НУЖНЫЙ МОМЕНТ УКАЗАТЕЛЬ ПЕРЕДАЕТСЯ КАК АРГУМЕНТ ФУНКЦИИ ЛИБЫ
@
ТЕСТИРУЕШЬ
@
ОНО ЖИВОЕ
@
ОТКРЫВАЕШЬ БУТЫЛКУ ВИНА
@
РЕЛИЗ ГОТОВ
23 3412687
>>12558

> Есть ли какое то будущее и плюсового разраба в рф?


> что то кроме qt и эмбедед макакой стать


А чем тебе qt не нравится? По мне так лучше кутемакака, чем бустомакака.
>>12619

> Ты уже сам ответил на свой вопрос. С++ в вебе? Кому он нахуй нужен.


Есть и c++ в вебе. И на мобилках. Вообще универсальная штука
24 3412691
>>12687
Что такое бустомакака? Если кутешная макака это попильный говнет для цифрового гулага, гойслуг и зетников. То бустомакака че такое? Звучит как сервер сайд и асинхронщина, это уже ахуенная специализация и карьера идти писать CDN, а не пылить штаны в мертвой десктопщине в рф и терпеть попилы с которых тебе достается сотыжка и пожизненный бан на перекат на нормальный рынок.

Есть вебасембли, но честно говоря я так и не понял в чом прикол. Он наверное где то там есть, смысл всмысле, но мне кажется это очередная хуйня пришла в голову кому то, и раз это еще никем не сделано то надо сделать. Ну ЧИСТО шоб було, а то вдруг чо
25 3412695
>>12687

>Есть и c++ в вебе. И на мобилках. Вообще универсальная штука


Чё прям весь бекенд? Как уже выше писали - для сжатия картинок возможно. Или под webassembly, а-ля figma - пойдёт. Но шоб прям весь бекенд - это будет лютый пиздец, который будет собираться целую вечность.
26 3412696
>>12558

>Есть ли какое то будущее и плюсового разраба в рф?



Нет. В принципе учить С++ в 2026 году имхо смысла никакого нет, если ты в России живешь и НЕ хочешь работать в оборонке. Очень много интересных и хорошо оплачиваемых плюсовых проектов позакрывалось и/или уехало за рубеж. Я в 2020-2021 годах мониторил рынок и у нас было много вакансий на хх.ру от всяких там иностранных конторок, которые делали 3D движки для CAD/CAM систем, были вакансии от NVidia, были вакансии Интела, были вакансии от Automotive контор, которые работали на атусорс, были вакансии от американских производителей ГИС, много чего было еще, но сейчас этого ничего нет, прям тухляк полный. Сейчас С++ это некоторые проекты в Яндексе, много всякого инфобеза тухлого, в том числе под винду, где надо легаси поддерживать, некоторое количество вакансий связанных с видеонаблюдением и сетями, но это тоже околоинфобез или безопасность так или иначе, либо оборонка и госуха, в том числе проекты для силовиков.

В крупном бигтехе aka Яндекс, VK, Сбер, Авито, Озон доля С++ с каждым годом становится все меньше и меньше. Даже в Яндексе от него постоянно отказываются в пользу Go, Питона и Джавы.
Конечно же какие-то редкие вещи вроде движков СУБД вроде YDB в Яндексе до сих пор на С++ пишут и будут писать, но это очень редкая работа и туда с улицы просто так не зайдешь даже стажером.
27 3412698
>>12640

>Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах


Это все очень малые доли рынка. Если ты прямо сейчас не занимаешься ковырянием субд, компиляторов или opencv, то оно тебе и не нужно. Это не то, чтобы было сильно сложно для чела с высшим образованием, просто туда ты не вкатишься сейчас в России. И работу сменить это тот еще гемор. Разработчиков субд и компиляторов надо несколько сотен на весь мир, это очень редкая работа и при она не оплачивается сильно лучше бекенд макак.

Чтобы туда вкатиться желательно учиться в хорошем универе в США и посещать курсы по типу тех, которые в CMU идут по базам данных. Тогда может и возьмут стажером в Оракл поддерживать их 40 летнее легаси
28 3412699
>>12680

>Есть. Есть и роботы и бэкэнд и поиск. Но проблема в том что это все яндекс



За пределами роботов и узких мест поиска/рекламы доля С++ постепенно сокращается.
Бекенд на С++ в Яндексе, прям вот чтобы массово, это наверное только в Такси есть. Там для этого вся инфраструктура в виде userver и обвязок для него есть. Вне Такси от С++ на бекенде плюются очень многие.

В Облаке, Кинопоиске, Музыке, Финтехе, Маркете, Еде, Лавке на С++ пишут сейчас очень редко, как правило штучные вещи вроде роботов, где на всю службу одна вакансия иногда появляется. В остальном там везде нынче Java/Go/Python.
29 3412701
>>3406111 →

>почему ты эмбеддед в макаки записал?



Эмбеддед это как раз макаки в 90% случаях. Какой-то тяжелой умственной работы там нет, сложных алгоритмов тоже. Ебешься с даташитами, читаешь документацию от производителя, читаешь данные из одного порта/пина, пишешь в другой, двигаешь туда-сюда байты.
Разумеется иногда приходится дебажить сложные вещи, находить баги в самом хардваре, погружаться в ЦОС и ТАУ, но это редкость и этим очень мало кто занимается.
1692874352.jpg85 Кб, 600x345
30 3412704
>>12696

>было много вакансий на хх.ру от всяких там иностранных конторок, которые делали 3D движки для CAD/CAM систем, были вакансии от NVidia, были вакансии Интела, были вакансии от Automotive контор, которые работали на атусорс, были вакансии от американских производителей ГИС, много чего было еще


Заткнись сука уёбок пидорасина! Зачем ты меня расстраиваешь, чтобы я злился? Да? Ты этого хочешь? Хочешь чтобы я расстроился? Ну вот смотри, ты этого добился, поздравляю!
31 3412707
>>12704
Хе-хе. Я уже давно смирился, что айти тут ВСЕ. Либо мутная госуха, либо российский бигтех за лоупрайс. Такой сытости, которая была тут хотя бы в 2019 году, нам еще долго не видеть, а вероятнее всего никогда и не увидим.

Кстати, нвидия кун больше не заходит сюда? Нвидия его в Швейцарию вывезла кстати. И у меня другой знакомый был, учился на 1 курсе магистратуры ВМК МГУ, делал какие-то нейросети в нашем офисе нвидии, в итоге как гойда началась, его в офисе 2022 года вывезли в Армению, а через полгода в Швейцарию перевезли. Вот так тоже бывает по жизни. Кто успел, тот успел.
32 3412710
>>12699
Пишут, все они пишут. Хватит пиздеть. На новых стандартах нет причин не писать. Просто от тебя кривожопа они скрывают чтоб ты к ним не лез.

Ладно, а если серьезно. То я вакансий 50 нашел только от самого яндекса. Это весь тред можно трудоустроить двачной отдел. Но как я и сказал это яндекс. Там менеджмент с козой ходит, а сам ты делать ку должен за лоу прайс клоуном у пидорасов, а до пидораса тебе дорасти не дадут. Скажут не дорос еще.
33 3412711
Грустно.
34 3412715
>>12707

>Нвидия его в Швейцарию вывезла кстати.


>через полгода в Швейцарию перевезли. Вот так тоже бывает по жизни. Кто успел, тот успел.


Ну блять, зато я живу в Балаково! Швейцарии до нашего рая ещё развиваться и развиваться! Так что завидуйте молча неудачники!
с++ 11 стандарт.png113 Кб, 580x330
35 3413298
Всех приветствую.
Хотел бы спросить кое-что про стандарты языка.
Например:
1)Мне на собеседовании задали вопрос "Как у вас со стандартами?"
Что я должен ответить? Они имеют ввиду, что условно проект пишется на С11 и чтобы я в случае чего не использовал фичи других страндартов (С17 и выше), дабы не было проблем с совместимостью? Или тут больше вопрос к компилятору, который они используют и опять же совместимости различных компиляторов и стандартов?
2) Какой основной источник, cppreference.com?
Я вот открыл, в целом там информация очень лаконичная.Это и есть основной источник или еще другие существуют?
36 3413305
>>13298
У тебя спрашивают, можешь ли ты по памяти назвать всё UB, упомянутое в стандарте, и куда ты полезешь искать инфу об UB, если засомневаешься.
37 3413336
>>13305
нахуя это знать по памяти? дату восстания декабристов потом не попросят назвать?
38 3413395
>>13336
Потому что это база собеседование вайти и персональная шиза собеседующих. Люди развлекаются как хотят, делают че хотят, собеседование это же не экзамен, и по моему опыту большая их часть предрешена уже до начала неважно че там у тебя спрашивают (это не относится к систематическому подходу к найму из всяких фаангов где у них очереди и масштабы).

Ну а так я тебе поясню что человек хотел от тебя. Он просто прощупал твой уровень экспертизы. Сами плюсы по себе уже довольно большой домен и без всякой прикладной области. Так что собеседующий просто выяснил для себя твой уровень экспертности и насколько ты задр. Кстати говоря тему надо понимать хотя бы вскользь все же, если ты совсем чето невнятное пропукал то это будет грустно. Но по твоим вопросам видно что ты стажер какой-нибудь или студент, ну хз, да я бы тебя таким ебать не стал
39 3413617
>>13395
Надо кабанов ебать налоговой без смазки, просовывать в анус невидимую руку государства или отбирать все субсидии.
У нас в стране вроде как 70лет была система отбора кадров, в том числе квалифицированных, нет надо придумать какую то HR-хуйню с тупорылыми профнепригодными манагерами.
40 3413723
анон что можешь скачать про std:: any ?
я правильно понимаю, что это очередная бесполезная суета?
41 3413783
>>13723

>я правильно понимаю, что это очередная бесполезная суета?


нет
42 3413859
Шилдт топ или херня?
А то в отзывах прочитал что структура хуевая.

Алсо, можно старого Страуструпа читать?
43 3413862
>>12619
На плюсах все 3д и вулкан.
44 3413863
>>13859
Нет смысла Шилдта читать сейчас. Страуструпа смотря насколько старого и что именно.
45 3413868
>>13859
страуструп к сожалению не для того, что бы понять как языком пользоваться, а это больше какие-то нюансы языка. Лучше начинать со всякой шизохуйни типа чистого кода и прочего дерьмеца, солида-хуелида, а потом уже почитать страуструпа.
46 3413886
Что происходит, когда мы вставляем символ в середину текста в текстовом файле? Все байты следующие за этим символом смещаются вправо?
47 3414007
>>13723

> анон что можешь скачать про std:: any ?


> я правильно понимаю, что это очередная бесполезная суета?


Выглядит похоже на QVariant
48 3414008
>>13886

> Что происходит, когда мы вставляем символ в середину текста в текстовом файле? Все байты следующие за этим символом смещаются вправо?


Конечно. Разве еще какие то варианты есть?
49 3414020
>>10643 (OP)
Аноны, есть ли годные сайты для постепенного вката в спп?
Я не кодер, но знание плюсов может очень пригодиться в работе.
Пробовал давно еще вкатываться в свободное время по каким то книгам и сайтам всяким, но потом возникали более приоритетные дела и приходилось забрасывать. При этом время от времени приходится писать что то на пайтоне, в основном говно скрипты.
Еще пугает что плюсы постоянно обновляются, что то новое выходит. И помню что в последний раз что то решил сделать и заебался с cmake и это тоже подорвало мою мораль. Кстати пишу код в блокноте, ради cmake устанавливал какое то говно от майкрософта, толку от него было мало, в общем очень заёбно всё было.
pepe-laugh-pepe-lol.gif191 Кб, 632x640
50 3414055
>>10651

>обосрался с разметкой


>имплаинг кто-то чего-то не достоин

51 3414056
>>10651
алсо нормальные люди тайпдефы используют

инб4 using, в курсе что оффтоп, но отвечаю сишнику на его же
52 3414065
>>14020

> Аноны, есть ли годные сайты для постепенного вката в спп?


https://ravesli.com/uroki-cpp/ - для самых маленьких, для просмотра нужен зарубежный прокси.
Лекции Мещерина на ютубе - более продвинутый уровень.

> может очень пригодиться в работе


А зачем плюсы, пайтона не будет достаточно?

>Еще пугает что плюсы постоянно обновляются


Это не проблема, обновления не прям чтобы революционные, обратная совместимость поддерживается, 11 стандарта должно хватать, а на новых стандартах пишут только на совсем новых проектах.

> заебался с cmake


Да, это та еще залупа, сам с ней не до конца разобрался. А зачем тебе, ты под linux пишешь?

>Кстати пишу код в блокноте


Если у тебя винда, не страдай хуйней и поставь Visual Studio. Она заменяет и блокнот, и cmake.
53 3414074
Почему плюсовики ругают cmake? Иногда пишу на С++ и cmake не хуже того же gradle как мне кажется
54 3414077
>>14074
c vcpkg он охуенный
1) Клонируешь vcpkg репу с тулчейном
2) В проекте создаешь файл vcpkg.json Например
{
"dependencies": ["catch2"]
}
3) В проекте создаешь папку build и игноришь ее в .gitignore
4) В папке build запускаешь cmake -DCMAKE_TOOLCHAIN_FILE=<путь к vcpkg репе>/scripts/buildsystems/vcpkg.cmake ..
5) Все зависимости скачиваются в папку build автоматически
6) В CMakeLists.txt уже можешь спокойно писать свои find_package
55 3414082
>>14074
Когда пишешь симейк проект приходится каждый чих гуглить, я вот недавно писал сборку gettext файлов через модуль все как положено, а он выдавал структуру файлов не ту которую нужно мучился мучился пока в каком то обсуждении не наткнулся на сообщение где мужик говорит что find_package(Gettext) - устаревший кусок легаси говна, не используйте его функции используйте его только для детекта программ в системе.

Я в итоге решил не использовать вообще и просто написал функцию которая детектит нужные программы вроде msgfmt и xgettext (какие же уродливые функции в симейк это просто пиздец) ну и написал таргет с командами для обработки языковых файлов и установки их в целевую папку с переименованием
56 3414084
>>14074
Говно как язык сборки в целом

> Иногда пишу


Ну вот проблема возникает когда иногда превращается во что более чем 100 строчек кода
57 3414087
>>14082
я в неовиме использую neocmakelsp и у меня автодополнение цимейка с документацией
Для таких стандартных вещей как gettext в cmake уже готовые команды есть
find_package это стандартный способ для менее стандартных либ чем gettext или sdl2
58 3414090
>>14084
Это когда делаешь все методом тыка и копипаста
59 3414105
60 3414144
>>12680
Это они боевой рой для новой сво готовят?
61 3414173
>>14077

>Клонируешь vcpkg репу с тулчейном


Какую репу с каким тулчейном? Совет пойти на деревню дедушке.
62 3414182
>>14173
Совет пойти пойти к дедушке гуглу
https://learn.microsoft.com/ru-ru/vcpkg/get_started/get-started?pivots=shell-bash
63 3414191
>>14082
Понял, да, звучит так себе
64 3414192
>>14191
Звучич как будто чел доку читать не умеет
FindGettext https://cmake.org/cmake/help/latest/module/FindGettext.html
Уже само ишет все утилиты, нахуй лисапед писать.
find_package для либ от васянов нужен, если васян экспрортировал в своей либе конфиг cmake
65 3414229
>>14065
В тот раз cmake нужен был чтобы подцепить какую то библиотеку.
Пайтона не всегда достаточно особенно для уже написанного кода и приходится вникать в cpp и vba, да и в целом знание плюсов это огромный плюс.
Пока останавлюсь на видосах с ютуба.
Cпасибо
66 3414240
>>14229
Нахуя? Для твоих админских задач по поддержке легаси говна хватит с головой неронки, заплати 20 долларов за о1 и сиди кайфуй не разбираясь в килотонне придуманного задротами бесполезного говна
67 3414244
>>14192
Это буквально одно и то же, шизойд

include(FindGettext) - это устаревший метод

find_package(Gettext QUIET REQUIRED) - более современный и функциональный

Однако функции в составе этого пакета устанавливают файлы и каталоги некорректно, должно быть как делает intltoolize:

locales/
-- <lang>/
-- -- LC_MESSAGES/
-- -- -- <domain>.mo

А функция из симейк модуля генерирует вот так:

locales/
-- <appname>/
-- -- <lang>.mo

.pot файлы могут быть разных форматов и msgfmt надо для каждого формата его явно указывать (xml/desktop), но симейк функция этого тоже не умеет, как и сказали это устаревшие легаси затычки для совместимости со старыми проектами. Сам модуль нужен теперь просто для того что бы детектить есть вообще в системе нужный пакет с программами.

Я написал свой детект программы, потому что мне нужна была еще другая утилита.
68 3414251
>>14240
Знания спп открывает больше профессиональных перспектив.
Нейронки запрещены на работе. Современные нейронки такое себе, часто галлюцинируют, ошибаются, не видят каких то очевидных вещей. В одном чате ради прикола попросили нейронки решить олимпиадные задачки чуть ли не 7 или 8 класса и в лучшем случае это было численное решение.
69 3414263
>>14251
Нет никаких перспектив. Тебе привиделось или тебе это внушили. Я даже не представляю в каком месте и кто будет с админом обсуждать плюсы, наверное только такой же шизофреник как и ты

Задачку за 7 и 8 класс не решит даже профессор или сам автор если забудет свое условие которое он придумал под говняком. Ты не понимаешь назначение нейросетей. Это прикладной инструмент для бизнеса, а не сфинкс
70 3414281
>>14263
Попустись, я не работаю админом и никогда им не работал. Ты меня путаешь с кем то другим.
71 3414285
>>14281
Ты работаешь админом в говногосушной легасной параше интеграторе рфном и занимаешься какой то хуетой пока никто не смотрит
72 3414313
>>14244
Ты описываешь еботню с гнутым геттекстом а не с симейком. Симейк няшка, а ты плохой пример взял чтобы его критиковать.
73 3414349
>>14313

>Ты описываешь еботню с гнутым геттекстом


Я описываю еботню с симейком и его пакетами/библиотеками, поскольку симейк это не башскрипт и не мейкскрипт, там зачастую нельзя просто взять и подставить какие то вызовы командной строки и подставлять линковщику какие то опции. Там надо делать все по особому по симейковски, это вызывает трудности а еще там синтаксис лютое говно, особенно все что связано с функциями и переменными, это просто ужас блять.
74 3414356
>>14349
Почему
https://cmake.org/cmake/help/latest/command/execute_process.html#command:execute_process

>Там надо делать все по особому по симейковски


Ты в любом языке программирования будешь делять "по языковски". В баше надо тоже по башевски делать
75 3414367
>>14356
Петух ты уже с геттекстом обосрался, тебе мало хуев напихали что ли? Нахуя ты пытаешься доказывать что то в области в которой нихуя не понимаешь, ты даун?
76 3414371
>>14367
Хуезависимый, спокнись. С симейком все впорядке. Все равно ты без него никуда, это лучше чем всякое непортабельное говно вроде башскриптов в проект тащить.
77 3414377
Почему бы не сделать билд систему как в zig?
78 3414382
Лучше чем ничего это вообще принцип по которому существует этот обоссаный обосранный сипипи. Лучше дерьма навернуть чем тебе сломали колени, лучше постучаться головой о стену чем навернуть пятилитровочку мочи. По таким принципам и живут эти парашники
79 3414386
>>14371
Я прекрасно знаю симейк потому что его каждый день использую, он забрал очень много крови нерва и пота (и продолжает тратить) и поэтому я не молюсь на него, в нем буквально все сделано плохо. Всё. Едиинственный его плюс это то что он работает выполняет свои функции на 100% и мучения таким образом окупает. Но дрочить на него и петь ему дефирамбы будет только сказочный дегенерат который сам нихуя не пишет только пиздит.
80 3414393
>>14386
Дифирамбы можно петь только за то что он распостранен и кгда я скачиваю искодники на цпп там скорее всего есть что-то-Config.cmake Поэтому я доволен. А если я в scons какой-нибудь то мне придется учить scons + cmake
Это я не тебе а тем кого ты агитируешь против cmake, как будто есть альтернатива.
81 3414396
>>14382

>По таким принципам и живут эти парашники


Так аналоговнет до сих пор. Зачастую при критике цпп происходит подмена сложности языка на сложность предметной области. Это не цпп такой специально создан, он адаптирован под области в которых используется, а так же под некоторый перечень ключевых идей(зирокост и т.д). Он не виноват, что все области, где он используются обмазаны говном и сложностью.
Вот взять те же строки, какую из реализаций нужно добавлять в стандарт? У строк десятки типов и реализаций со своими приколами и плюшками, не будешь же каждую из реализаций в язык тащить. Задача цпп - это дать минимально достаточный и мощный язык для написания своих велосипедов под задачу. Особенно я не понимаю претензий к новым стандартам цпп, если на си с классами не писать, то это вообще сказка.
82 3414418
>>14396
Хватит пиздеть хуйню. Посмотри на планы что вообще собирается делать комитет сейчас: нормальные корутины, экзекуторы, сеть. Даже текущую сраную строчку в стандарт принимали миллиард лет, работа с файловой системой только к 17 появилась. Что ты мне тут еще будешь втирать про реализации которые надо добавлять и минимальный мощный язык? Он пустой и не развивается и не развился в том темпе котором он нужен, поэтому и пошел нахуй и он неизбежно будет идти постепенно нахуй и вытесняться другими языками. Пока стауструпы будут с горящей сракой бежать и дефать эту хуйню от американской госухи чтобы ему придумали за него как это все воскресить и вернуть в продуктовую разработку
83 3414428
>>14418

>Что ты мне тут еще будешь втирать про реализации которые надо добавлять и минимальный мощный язык


Так в чем пиздеж, если даже без охуительно полезных фич, которые не успели занести, на этом языке написан весь мир и продолжает писаться, и в том числе авангард технологии (ИИ)? Это ли не доказательство, что база у языка мощная и позволяюющая сделать что угодно?

>Он пустой и не развивается и не развился в том темпе котором он нужен, поэтому и пошел нахуй и он неизбежно будет идти постепенно нахуй и вытесняться другими языками.


Нихуя Коуп. Растотрун, ты?
84 3414433
>>14393

> за то что он распостранен


какая заслуга cmake в этом? если все начнут собираться питон скриптами будешь перед питон вытанцевывать какой он классный
85 3414434
>>14428
Весь мир написан на джаве и сишке. Плюсы тоже есть, но все от них отказываются, весь бигтех ушел от плюсового кода. А пиздеж в том что это минимальный язык для строительства своих "эффективных" лисапедов. Нет, это не так. А если б было так, то нахуя развивать его в сторону фич которых требует продакшн? Все же все равно пишут свои реализации
86 3414448
>>14377
симейк это не билдсистема, сколько можно повторять вам ебанутым? Как ты собрался зигой те же языковые файлы собирать? А точнее даже не собирать а создлавать сценарий сборки с кэшированием и мониторингом изменений в файлах.

Костыльные пре-билд скрипты которые предлгается писать на зиге.пидорасте это даже не смешно.
Сборочная система зига и пидораста это замена аутомейк + статичный конфиг проекта, это подражательство ноде-пипу которое в системных языках не работает, не состоят приложения из одного только кода программы.
87 3414473
>>14182
О, вспомнил. Собирал как-то чужой проект сделаный под Conan, вот эта тема удобная, красивый сайт где можно посмотреть все либы, сами либы обновляются. А потом полез в этот vcpkg, говно какое-то, сайта нет, либы протухшее говно сколько-то лет давности, заброшенное запустение.
88 3414509
>>14448

>Как ты собрался зигой те же языковые файлы собирать? Никак, для этого должен отдельный скрипт быть. Зачем месить комбайн из говна и палок? Ну можно еще функцию управления кофеваркой добавить, а хули нет?

89 3414511
>>14509
Какой комбаин, шизик, чем проект собирать прикажешь?
90 3414543
>>13886

>Что происходит, когда мы вставляем символ в середину текста в текстовом файле? Все байты следующие за этим символом смещаются вправо?


Тебе именно текст надо редактировать? Тогда есть много всяких вариантов. Например:
https://en.wikipedia.org/wiki/Gap_buffer
https://en.wikipedia.org/wiki/Rope_(data_structure)
91 3414612
Какую книжку читали последнюю интересную? Хочется чето про новый 20-23 стандарт и желательно какую-нибудь прикладуху вроде сетей, многопоточки, оптимизаций.

Прочитал недавно C++ High Performance, сука пиздец еще хочу подобного, там про 20 стандарт и всякие фишечки, рикаминдую
92 3414676
>>13395

>понимать хотя бы вскользь все же


да что конкретно то понимать?
без воды можешь пример привести
понятно что прощупывал, это же собеседование
какие-то очевидные абстрактные тейки прогнал
93 3414679
>>14676
Где ты тут абстракции увидел? Это самое что ни на есть прикладное понимание для написания корректного кода. Если ты никогда про уб не слышал ничего, как ты собрался код без уб писать? Ну ладно ты свои лабы ковыряешь, а если ты проект пишешь за деньги, потом ты съебешь, кто твою срань которая в хуй знает какой момент падает будет дебажить? Тебя потом найдем и под шантажом позора перед новыми коллегами пойдешь отлавливать
94 3414825
>>10643 (OP)
void ⚹ это не указатель на хтоническую пустоту как показано на рисунке, это наоборот сущность, которой открыты все дороги, она может стать кем угодно.
А вот есть тип данных void, с которым нельзя создать перменную, но который может быть типом возвращаемого значения функций, это реальная пустота.
95 3414848
>>14448

>build.zig


Ебал в рот это говно, там просто киломитеровый в плане LoC получается файл, нахуя это если можно просто на CMake было делать?

>замена аутомейк


Автомейк - это плагин, пчел, такой системы как автомейк не существует, ты не шаришь.
96 3414856
>>14825
Ебать шиза. Чел любой указатель - просто указатель на начало памяти. Все.
97 3414876
>>14251

> Нейронки запрещены на работе.


Не повезло. Надеюсь хоть Интернет разрешен.

> Современные нейронки такое себе, часто галлюцинируют, ошибаются, не видят каких то очевидных вещей.


Ага, а искать 2 часа ответ на стэковерфлоу, который также может быть ошибочным это гораздо лучше.
98 3414889
>>14418

> абота с файловой системой только к 17 появилась


Спорное конечно решение, я хоть и пользуюсь, но быстрее нативного решения в виде API операционной системы ничего нет.
А ты же долбоеб, и при сипипи ничего не знаешь. Работа с файловой системой уже была много леи в виде разных библиотек, boost в том числе. То есть решения тестируют на boost, если оно прошло проверку временем переводят в стандарт. Ты же чучело вообще нихуя не знаешь
99 3414941
малой, буст это хуйня
100 3414955
>>14848

>Автомейк - это плагин, пчел, т


какой еще плагин, шизик, это программа которая генерирует мейкфайлы из мета-шаблонов.

Синтаксис шаблонов аналогичен qmake, а структура аналогична cmake - в каждой папке создаешь Makefile.am а на топ уровне пишешь:

projectname_SOURCE += main.c
projectname_HEADERS += myapp.h

SUBDIRS += src lib doc

почувствуй что называется разницу.

И все бы ничего но нужен еще autoconf что бы генерировать env переменные и еще дюжина программ для всякой остальной хуйни и все равно будет чего то нехватать.
Симейк куда как более всратый и сложный, но если ты его одолел он тебя наградит отсутствием лишних говен в папках, чистенькими настраиваемыми логами, кросс-платформенной сборкой, в целом грамотной линковкой/сборкой.

Есть вроде как мизон который делает синтаксис примерно как в аmake/qmake но на питоне и с генерацией в симейк, но его надо через пипку устанавливать, хотя конечно если проект требует наличие питона то не вижу препятствий неиспользовать лучше его.
101 3415083
Тредовцы, а в каких сферах вы работаете?

>>12696
Грустно
102 3415108
>>15083

> Тредовцы, а в каких сферах вы работаете?


Безопасность, в основном связана с банками. Но я в Испании живу и работаю на американскую фирму.
103 3415117
>>15083
ml, dl, signal processing
104 3415311
>>15083
Эмбедед
105 3415323
>>15083
Пизжу в интернете что 500к наносек, а на самом деле не работаю, мне сестра просрочку из пятерочки привозит ну и на ее бонусы в маркете всякую хуйню покупаю. Чайник, кроссовки, батарейки, конденсаторы.
106 3415421
>>15083
Авионика.
В всж сфера в плачевном состоянии, но деньги платят в некоторых местах. Куда перекатываться, как упрусь в потолок по сотыгам, пока хуй знает.
107 3415430
>>15421
Так в кодописании везде есть непреодолимый потолок, куда ты перекатываться собрался? Конечно есть аномальные вакухи, где готовы платить именно за конкретного человека с конкретной экспертизой, но не думаю что такое разумно вписывать в среднюю статистику. Интересно даже сколько у тебя, мне кажется ты получаешь так же как и веб макаки, а ответственности, профпригодности и ебаний головы в бесконечность больше. Такая вот реальность плюсовая
108 3415436
>>15430

>Так в кодописании везде есть непреодолимый потолок, куда ты перекатываться собрался?


Очевидное лидство. Ну или что блоее органично в контексте обсуждаемой сферы начальник. Ну и потолок это сотыги 4, да? На жизнь должно хватить. Но это в текущей конторе маловероятно, поэтому вопрос в том, куда крестомакака вообще податься ещё может.

>Интересно даже сколько у тебя, мне кажется ты получаешь так же как и веб макаки


У меня среди знакомых только один фронтендер и получаю я раза в 2 больше. Ну и в целом выше веб-макаки дефолтной.

> а ответственности, профпригодности и ебаний головы в бесконечность больше. Такая вот реальность плюсовая


>Это больше в голове у тебя всё, чем в реальности. Я после универчика с кайфом залетел.

109 3415440
>>14955

>projectname_SOURCE


>projectname_HEADERS


поубивал бы нахуй за эту гениальную идею с суффиксами) и префиксами)) это же пиздец удобно парсить имя переменной и не дай бог тебе где то опечататься
ща вспомнил как выглядел автомейк проект на два десятка таргетов аж хуево стало
110 3415499
>>14955
Ебанашка ебаная, нет автомейка, есть автоконф с плагином автомейк.
111 3415531
>>15436
У джава мидла в бигтехе вилка 200-300к, у сени 300к и в зависимости от проекта, как правило бывает 370к-400к, но есть и такие кто и до 500к добивает. Всякие техлиды и крутые спецы на 17 грейдах и по 700к получают, предела нет. Но это все домены не связанные с железками. За железки в рф никто никогда денег не заплатит, потому что это наружу не продается и существует только на внутренние дотации. Так что как тебе заработать денег? Поучаствовать в распиле, начальником только да. Наверное если ты еще мидл+, то возможно не поздно поменять домен и идти грести в бизнес, скорее всего не на плюсах, потому что мне кажется ты получаешь все же меньше веб макак
112 3415565
>>15421

>Авионика


>плачевном состоянии


А можешь подробнее рассказать - почему в плачевном?
113 3415656
Посоветуйте приличный туториал по симейку, надо восполнить пробел в знаниях, а на рутрекере только книжка на 500 с лишним страниц, я ее конечно прочитаю, но не сейчас
Безымянный.png137 Кб, 2344x724
114 3415659
На с++ большо вакух чем на с#.
115 3415665
>>10643 (OP)
неиронично ощутил тревогу и чувство собственной ничтожности и непознаваемости мира, когда первый раз открыл файл на си и прочёт слово void
116 3415667
>>15665
Это нормально, но лучше ассемблерный код не открывай
117 3415700
>>15565
Потому что спрос на неё непосредственно зависит от состояния сферы самолётостроения.
118 3415709
>>15665
Как хорошо, что я начинал с сишки и void писал во второй строке хеллоуворлда, причём аж два раза.
Снимок экрана от 2025-03-25 16-11-14.png75 Кб, 810x443
119 3415724
>>15499
аутоконф и аутомейк это разные программы которые делают разные вещи, ебучий ты долбоеб

У них даже разные авторы
120 3415748
>>15659

> На с++ большо вакух чем на с#.


Но сколько из них в НИИ Дорана. П. И.?
121 3415898
>>15700
Да, но строят же мс21, суперджет, ту214, ил96 (не уверен)
122 3416027
>>15659
И нет ни одной бизнесовой. Все это говноинтеграторы, кутешные заводчане и прочие несчастные. Наверно потому они все и делают говно потому что на плюсах все пишут лол. Типа логика такая, если уж нам все равно денег не платят, то давайте хоть в редакторе себя развлекать говном всяким
123 3416033
>>16027

>Макака порвалась

124 3416114
>>15898

>строят же мс21, суперджет, ту214, ил96 (не уверен)


Первые два серийно так и не начали производиться. Суперджет производился одно время, но на иностранных компонентах. Superjet new так и не начал летать и перевозить пассажиров. Мс21 тоже.
Ту214 и ил96 производятся очень ограниченными сериями, буквально по 1-3 самолета в год.
125 3416122
>>16114

>Суперджет производился одно время, но на иностранных компонентах. Superjet new так и не начал летать


Там уже около 20 почти готовых бортов Superjet New стоит без двигателей, ждут когда двигатель будет готов. Двигатель уже доделали, вроде на прошлой неделе был первый полет с ПД-8.
У импортозамещенного МС-21 в этом году первый полет, со следующего года серия.
126 3416138
>>16114

>не начали производиться


А как это связано? Работа-то идёт. Тебе авионику на земле писать надо, а не в воздухе.

Я в 2017 году был на собесе недалеко метро аэропорт в конторе, которая софт для иркута писала. ПРоизвели впечатление неплохое. КОллектив молодой. Но выглядело всё очень скромно. Я тогда 80 или 70 запросил. Но я очень скромный был. МОжет, можно было и больше. Там начальник прям выдохнул, когда я цифру сказал. И неприятно потом добавил: да-да, вам нужно работать и учиться, чтобы не быть низкооплачиваемым специалистом, что-то вроде такого. В общем офер мне дали сразу. Но я не прниял.
127 3416162
анонсы часто ли вы используете SIMD функционал для распараллеливания на уровне данных?
я к тому спрашиваю, что стоит мне сильно углубляться в эту тему или сразу к CUDA переходить.
буду благодарен любому совету, наставлениям
128 3416173
>>16162
Никогда не использую.
Ведь работы нет.
129 3416179
Тише, он еще не знает
image.png18 Кб, 438x239
130 3416180
>>16162

>SIMD


А что это?
131 3416181
>>16162

>анонсы часто ли вы используете SIMD функционал для распараллеливания на уровне данных?


В смысле интринсики? Смысла нет особого, только для каких-то отдельных алгоритмов, где скорость прямо очень важна. Сейчас компиляторы и так векторизуют неплохо. Для трехмерки, например, можно float4 делать (причем желательно отдельно стековую версию с выравниванием по 16 байт). Но это неправильный путь, правильный поперек считать, а не вдоль, т.е. не XYZ в одном регистре держать, а по компоненту в отдельных регистрах для нескольких векторов. Т.е. что-то вроде питоновского numpy использовать. Или сразу OpenCL, SYCL. CUDA, кроме очевидного вендор-лока, плоха тем, что сейчас даблы есть только на некоторых топовых ускорителях. На рядовых видюшках даблы могут в 64 раза медленнее считаться. Для многих научных расчетов нужны именно даблы, и их сейчас быстрее на CPU считать.
132 3416188
>>16180
Говнокод. Какой дебил так импортит, блять?
133 3416190
>>16188
Дата-инженеры всегда так пишут, у них и однобуквенные переменные с циферками, и копипаст вместо написания функций и циклов, да и весь код выглядит так, будто переписали бумажку с расчётами на питоне. Они же и в питон пришли из экселя и матлаба.
134 3416191
>>16188
F это классика

Покажи - как надо?
135 3416192
>>16191
Для начала научиться пользоваться запятыми при импорте.
136 3416194
>>16192
Тогда уж импортить в месте использования давай по красоте
137 3416200
>>16180
брат это не SIMD.
там в основе этих библиотек лежит CUDA или OpenMP, или что еще,
но точно не SIMD
ты немного не так понял брат
138 3416203
>>16181

>В смысле интринсики?


да

>Сейчас компиляторы и так векторизуют неплохо.


ты имеешь ввиду параллельный STL?

почитал про SYCL, выглядит мощно. а на практике?

вообщем спасибо за развернутый ответ, буду дальше изучать
139 3416217
>>16181

>Сейчас компиляторы и так векторизуют неплохо.


Очень ограничено. У компиляторе нет информации о размере массивов и выровненности данных. Он даже не может доказать что два массива не указывают на одно и то же.
Нужно как минимум делать ему подсказки, а как максимум делать профилировку и переписывать циклы в линейную обработку, ну и в конечном итоге просто расчехлить интринсики, написать реализации для SSE AVX AVX2 NEON и завернуть это все в динамическое определения набора инструкций у машины пользователя (как у ffmpeg и 7zip), потому что компилятор принципиально не будет использовать все имеющиеся наборы инструкций так как они не будут работать на всех имеющихся x86_64, можно его заставить но тогда если ты будешь сам этим пользоваться, либо тогда придется собирать разные бинарии под sse avx и generic
140 3416437
>>16200

>но точно не SIMD


Если torch работает на cpu он использует intel oneapi, mkl-dnn и прочее
141 3416458
>>15531

> потому что мне кажется ты получаешь все же меньше веб макак


Удовлетворяя твой интерес: где-то в районе 200к, чуть меньше. Ну я и не мидл+ никакой. Опыта чуть меньше 2 лет. Так что я хотел бы дальше веслать на стрёмной поделке бьёрни. Но из всж компаний я хз дальше где можно вырости до бешеных сотыг. На ум только двагис и яндекс приходят.
142 3416577
>>16217

>Очень ограничено.


Сейчас уже более-менее. Раньше компилятор совсем хлебушек был:
https://godbolt.org/z/qTMaaYzMa
https://godbolt.org/z/WqKa7YbWv
Приходилось вот такое на интринсиках делать, а сейчас и так сойдет в большинстве случаев.
144 3416687
>>16577
Кстати, у GCC и clang есть расширение для векторизации, можно вообще без интринсиков делать, и оно будет целиком через регистр передаваться:
https://godbolt.org/z/64vo7e64q
145 3416697
>>16687
Ты охуеешь, но так называемые интринсики реализованы через эти самые расширения.
146 3416699
>>16577
А если в цикле for бежать с шагом там 4, то будет векторизовать?
147 3416755
>>16699
Он давно простые циклы векторизует. Вот, например сумма массивов с размером кратным 8.
https://godbolt.org/z/eM9soTj9K
Если убрать кратность 8, то добавятся куски, где добирается некратный остаток. Если убрать restrict - добавится проверка на алиасинг.
148 3416763
>>16755
А что для for : range?
149 3416778
>>16763
Тоже векторизует, также считает кусками по 8, потом добирает одиночными:
https://godbolt.org/z/a695f5bcP
По восемь - это оптимизация под AVX, где 256 битные регистры. Там это будет одно чтение и фьюз двух 128-битных операций, а для старых архитектур ничего не изменится.
150 3416803
>>16778
а чо по ymm?
Jensen Huang.mp41,1 Мб, mp4,
1280x720, 0:05
151 3416979
— Kакой язык программирования вы любите меньше всего?
— C++
Дженсен Хуанг, глава компании Nvidia
152 3416981
>>16979
Он дебил? Ему по должности не положено знать, что такое C++. Он бы ещё о работе старшего дворника рассуждал.
153 3417027
>>16979
— Kакой язык программирования вы любите меньше всего?
— $$$
Дженсен Хуанг, глава компании Nvidia
154 3417052
>>16979
в чем не прав?
155 3417133
>>16979

> эээ пук окей дем дальше

156 3417399
>>16979
Вопрос не в том, что любишь-не любишь, а в том, что альтернатив нет.
157 3418911
>>12664

>либа обрабатывать фотки


зачем когда потные ебанашки с очками-линзами делают все это бесплатно ну либо за подачки от корпораций в лучшем случае?
и это еще хорошо потому что еще не до всех дошло что шлюхе показывающей пизду на вебкаме, необязательно платить
158 3418913
>>12696

>были вакансии от NVidia


о, да, а еще в треде был нвидиа-кун который заявлял что за много лет они не взяли ни одного челика с hh кек
159 3419229
>>18913
А как туда попадали? Только через постель хуанга?
160 3419289
>>16979
Не удивительно, сделать CUDA можно было только люто ненавидя кресты и специально делая всё как можно недружелюбнее и кривее. nvcc вообще литералли единственный компилятор, умеющий ловить сегфолты при компиляции кода, настолько это кривое поделие.
161 3419392
>>19229
да
через знакомства в тусовочке
162 3419914
>>19289
а что скажешь про OpenC и SYCL?

я сейчас пишу на OpenCL, так вроде проверено временем.
163 3419915
какой подход лучше для такого примера? (это OpenCL либа)
class MyClass {
cl::Device device; // или std::unique_ptr<cl::Device> device;
cl::Context context; // или std::unique_ptr<cl::Context> context;
cl::Queue queue; // std::unique_ptr ...
cl::Platform platform; // std::unique_ptr ...
// ...
};
вообщем храню все эти объекты на стеке, все правильно делаю?
да, я понимаю что сам класс получается раздутый...

Вообщем если объект "небольшой" и практически не меняется лучше на стеке держать?
164 3419931
>>16577
Это не более менее это тупо самое примитивное что можно придумать, тут не нужны даже сложные алкгоритмы в компиляторе что бы заменить пачку перемножаемых флоатов в вектор. Пишешь цикл перемножающий байты или шорты и даже умный компилятор умеющий разворачивать циклы чтоб запихать элементы массива в вектор, не может без подсказок определить можно ли применять вышеописанное так как неизвестно ни количество итераций/элементов массива ни порядок обращения, может ведь быть и так что второй массив это тот же самый массив с некоторым смещением, компилятор не может такие случаи игнорировать иначе код будет нерабочим.

Я уж не говорю о том что твой пример вообще не нуждается в векторизации, скалярные операции они всяко дешевле, в двойне глупость когда ты складываешь вектор а потом достаешь оттуда значения на обычные регистры что бы что-то сделать, ну правда у тебя в примере это делается просто для распечатки, а так все функции с векторами работают.
165 3419970
>>19915
Лучше на стеке, но может возникнуть проблемка с инициализацией
При вызове конструктора MyClass конутрукторы cl::Device, cl::Context и тд будут тоже вызваны, если тебе по какой то причине необходимо чтобы они инициализировались позже, то придется использовать std::unique_ptr не только его конечно можно
166 3420025
>>19915
А что за проект?
167 3420068
>>20025
Laba1.cpp
168 3420082
>>20068
О, я тоже когда-то там работал. Помню, жуткое легаси было
169 3420129
>>20082
Неужели Borland C++ Builder?
170 3420288
>>19931

>скалярные операции они всяко дешевле, в двойне глупость когда ты складываешь вектор а потом достаешь оттуда значения на обычные регистры


Арифметические операции над числами с плавающей точкой всегда работают на векторных регистрах, если у тебя не древний x87. Одно, четыре или восемь чисел - разницы нет - они будут одинаково быстро выполняться. Да и вытащить элемент из векторного регистра всяко быстрее чем, например, лезть в память, куда-нибудь на стек, даже кешированный.
171 3420335
>>19931
Чел, ты асм вообще читать умеешь? В первом варианте clang 3.1 пары флоатов распаковывает в регистры, потом считает их поодиночке, потом упаковывает обратно в пары для возврата, получается сложение двух F4 - это больше 10 команд. Во втором варианте, где современный clang - он сразу считает парами, т.е. сложение двух F4 получается за две операции - сначала сложение XY, потом ZW.
Снимок экрана от 2025-03-31 22-26-45.png238 Кб, 1605x949
172 3420428
>>20335

>В первом варианте clang 3.1 пары флоатов распаковывает в регистры


Ты сам то его понимаешь его шизик?
Я может родной X86 ассемблер и с натугой понимаю, но блять упакованые то команды как можно не узнать?
Они мало того что риск-подобные, что сразу бросается в глаза, так они еще и плюс минус у всех с похожими патернами, тыкни в любую команду я скажу что она делает не заглядываая в доку.
173 3420510
>>20428
Пиздец, конечно, как доска скатилась.

>но блять упакованые то команды как можно не узнать?


То, что там векторные операции в асме, не означает, что компилятор реально вектора умножает.
Если ты тупорогий такой, возьми листик, распиши себе построчно, что там происходит. Что приходит в функцию, что возвращается. И главное, что именно там четыре умножения делают.
174 3420512
>>20510

>операции в асме, не означает, компилятор реально вектора умножает


>как доска скатилась.


Чат-жпт дауненок, ты?
Узнал тебя по шизойдным высерам
175 3420524
>>19970
спасибо

>>20025
просто паралелю вычисления на GPU используя разные либы.
наблюдаю онлайн как видяха стонет через nvtop (доставляет).
вот начал с OpenCL, затем попорбую SYCL и CUDA

еще хотел попробовать вычисления на несколько GPU распаралелить, но встроеную AMD карту OpenCL не видит...
думаю может как то на виртуалку прокинуть, но чувствую бред получиться
image.png11 Кб, 697x80
176 3420547
>>20512
Хули ты тут сидишь вообще, даун? Это для программистов доска, не для развозчиков пиццы.
Еще ведь хуйню несет с таким самомнением, мокрица ебаная. Надеюсь, мудофел, ты ко мне на собес попадешь когда-нибудь.
177 3420695
почему конан написан не на плюсах, а на питоне?
178 3420704
>>20695
Зачем там плюсы? Подобные говноскрипты для автоматизации хуйни можно написать хоть на баше.
179 3420707
>>20524
По производительности сейчас вплотную к куде только вулкан. Если не хочешь трогать кожаный высер, то только вулкан, но в нём бойлерплейта очень много для запуска твоего гпу-кода, ещё и память ручная.
180 3420718
>>20707

>По производительности сейчас вплотную к куде только вулкан


это проверенная информация? вы уверены в том что говорите?

или это я проспал когда компьют пайплайны стали реально быстрыми?
181 3420727
>>20547
Окей mulss это оказывается перемножение единичного значения вектора, для пакованых у них mulps
Пиздец у них блядушник в системе команд.
1629395174567.png215 Кб, 1152x648
182 3420738
>>20718

> это проверенная информация? вы уверены в том что говорите?


Да.

> когда компьют пайплайны стали реально быстрыми?


Когда шейдеры стали собирать в LLVM, а куда всё сидит на кривущем nvcc. Куда-графы всё ещё обходят пайплайны, в основном из-за быстрых бранчей и хорошей работы с памятью, но такими темпами вулкан скоро догонит их. Мобилки бустят всё это хорошо, им нужны нейросети, а там кроме вулкана нихуя нет универсального под гпу.
183 3420790
>>20738
У тебя на картинке скоростьобработки токенов разных нейросетевых моделей в разных форматах.
184 3420800
>>20738
Ну и да, по ней получается что cuda больше неактуальна
KHR_coopmat это я так понимаю родная вулкановская матричная библиотека для шейдерного языка. А вторая вендорная.
В любом случае про куды-хуюды забываем, учим шейдеры
185 3420867
>>20738

>Когда шейдеры стали собирать в LLVM, а куда всё сидит на кривущем nvcc


nvcc сам построен на LLVM, что, правда, не отменяет его кривости.
К тому же никто не запрещает использовать PTX бэкенд шланга с libc++. Ну и куду тоже надо уметь готовить: не хуячить мегакернели и оптимизировать.
186 3421061
у меня вопрос по поводу обработки ошибок в современном С++
есть ли удобная альтернатива исключениям?

К примеру у меня в коде много мест, где могут возникнуть ошибки.
Я хочу просто создать класс
class ErrorMessage(string message) {
cout << message ...
return -1};
и бросать его в main()

Так сойдет? или это уже моветон?

блоков try... catch в main у меня будет несколько (один для инициализации объектов и так далее...)
187 3421073
>>21061
std::expected
https://en.cppreference.com/w/cpp/utility/expected

Посмотри только про него статьи, там очень сомнительные результаты по перформансу для happy path.

Ну и советую глянуть какие-нибудь лекции по различию ошибок и статусов. Для первых кинуть исключение нормальная практика, для вторых нет.
188 3421075
>>21061

> у меня в коде много мест, где могут возникнуть ошибки


Вот по этой причине и соснёшь, а уж чем обмажешься для отлова не важно. Надо локально всё обрабатывать на низком уровне, уменьшая количество мест в коде, которые могут сломаться, а не просто прокидывать ошибку наверх, в надежде что что-то обработает её. Прокидывание наверх ошибок значит что в случае возникновения ты будешь рестартить кусок когда с ошибкой, но это хуйня полная, лучше чекать до момента где может что-то пойти не так, а не последствия поломки фиксить.
189 3421210
У чела что библиотеку ренджей делал
https://ericniebler.com/about/
На оф сайте ссылка ру спп кона ведет на казино, лел
190 3421222

> Аннотации времён жизни - это способ сообщить компилятору, как связаны между собой разные ссылки, чтобы он мог гарантировать безопасность памяти.


Сложно, наверное, без этой хуйни?
191 3421247
>>21061
Нет ничего лучше для обработки ошибок чем исключения, конец истории.
192 3421305
>>21247
Исключения придуманы не для самоподрывов, а для того чтобы на минном поле, в виде какой-то сторонней библиотеки или ввода со стороны пользователя иметь возможность вернутся хоть к какому-то состоянию стека и продолжать работать.
193 3421794
>>21247
Пиздец хуйня. Они и назвыаются так - исключения, потому что ситуация исключительная
194 3422792
>>21794

>Они и назвыаются так - исключения, потому что ситуация исключительная


Это в си (алголо) подобных языках и их идейных наследниках так. Во многих других нелокальный выход из функции - чуть ли не базовая языковая конструкция. Форт с rdrop, блоки в smalltalk, ну и вся функциональщина с CPS, как пример.
195 3422851
>>22792

>rdrop smalltalk CPS


Твои протыки?
196 3422870
>>22792
Архитектура процессора от языка не зависит. В си нету исключений потому что в железе нету никаких локальных выходов или что ты там себе придумал, надо городить обработчик сигналов через ядро ОС. И так и во всех описанных тобой языках реализовано на уровне библиотек, включая плюсы.
197 3423064
>>22870
Все так. Именно по этому разумисты собирают с ноэксцепт.
198 3423173
>>23064
а стдлиб используют?
199 3423209
>>23173
ни в коем случае
200 3423233
>>23209
...
>>23173
Без исключений и ртти, почему бы и нет. Ну и опять же смотря что именно и в каком проекте.
201 3423237
>>22870

>В си нету исключений потому что в железе нету никаких локальных выходов


В си есть setjmp/longjmp, в железе есть ret, jmp. Железо про функции ничего не знает, естественно, процу все равно в какое место программы переход делать.

>надо городить обработчик сигналов через ядро ОС


Только под виндой, и то не уверен, что они до сих пор SEH используют для исключений.

>реализовано на уровне библиотек, включая плюсы.


Чего ты несешь? В плюсах, джаве, шарпы эксепшены - часть языка, их в библиотеку не вынести.
202 3423243
>>22870
Бывают аппаратные исключения, которые в крестах нативно поддерживаются, а вот в сишке всегда были костыли для них.
203 3423249
>>22870

>нету никаких локальных выходов или что ты там себе придумал


Современный харкач: человек впервые слышит термин "non local return", но сразу лезет со своим охуенно важным мнением.
204 3423258
>>23237

>обработчик сигналов через ядро ОС


>Только под виндой


че?
205 3423282
>>23258

>че?


Для обработки исключения в общем случае не нужны никакие сисколы, надо пройти вверх по стеку и найти обработчик, который вызовет нужные деструкторы у всего, что на стеке лежит. Это в крестах. В какой-нибудь джаве можно тупо джамп делать, коллектор потом все соберет, что выделялось на стекфреймах. В сишке можно просто переходить на нужный адрес через longjmp, если не что-то не очистилось - сам лох.
206 3423306
>>23237

>в железе есть ret


вот именно что есть просто возврат.
Возврат к предыдущей процедуре, никаких возвратов в какое то другое место системой команд не предусмотрено.
Все маняпуляции с адресом на стеке это хакерства и UB.

Это во первых, во вторых - исключения подразумевают полную запись стека и отлов конкретного сигнала в конкретном месте программы, у тебя прерывание программы происходит внезапно что ты там собрался возвратом делать шизойд? Тебе надо стек откатить полностью.
207 3423309
>>23243
Что за такие "аппаратные исключения"? Ну ка расскажи.
1596963169722.png181 Кб, 1110x832
208 3423343
>>23309
В терминах Интела, прерывание - это асинхронное событие от IO, а эксепшен - синхронное событие при ошибке. Пикрил пример эксепшенов, у интела их сейчас 32 вроде. В проце при переходе в защищенный режим есть таблица обработчиков эксепшенов, куда проц прыгает при получении его. Ты же не думаешь что ядро само чекает на сегфолты/флаги каждое обращение к памяти или операцию?
209 3423358
>>23343
Алсо, SEH в винде - это доступ из юзерспейса к ним, оно медленное как раз из-за костылей прокидывания в юзерспейс и создания структуры с инфой об эксепшене. При аппаратном эксепшене обычно кладётся адрес следующей инструкции на стек и переходит по адресу обработчика эксепшена в ядре. Кресты в теории умеют мапить эти эксепшены в нативные крестовые эксепшены, если ты на голом железе пишешь. И это только на х86, на других архитектурах ещё более извращённые реализации аппаратных эксепшенов есть.
210 3423382
Еще в 80-е в компьютерах на Z80 в бейсике были конструкции вроде ON ERROR GOTO 150, если подумать, чем не исключения.
Снимок экрана от 2025-04-04 22-29-19.png71 Кб, 917x278
211 3423395
>>23343
Это сигналы прерываний долбоеб, причем здесь "исключения" (в общепризнанном понимании)?
212 3423398
>>23382
Шизик, ты сначала объясни что ты подразумеваешь под исключениями или сходи погугли что народ под ними подразумевает, а потом приходи рассказывать про то что там было на васике подмикроконтроллеры.
1705023272435.png52 Кб, 1395x175
213 3423413
>>23395
Чел, абстрактные сигналы тебе уже ядро посылает, зачем ты вообще линукс тащишь сюда. Ещё раз - аппаратные эксепшены это не прерывания, это ошибки при выполнении инструкции. Прерывания - это асинхронные события, они никак к инструкциям не привязаны. Пикрил из мануала интела по архитектуре х86.

> причем здесь "исключения" (в общепризнанном понимании)?


Это и есть эксепшены в классическом смысле - при ошибке выполнения инструкции выполнение передаётся обработчику эксепшена.
214 3423422
>>23413

>Это и есть эксепшены в классическом смысле - при ошибке выполнения инструкции выполнение передаётся обработчику эксепшена.


>>23382
Классика экзепшенов когда такого слова еще не было. Ебала порванных зумеров можно не представлять.
15938421597310.jpg29 Кб, 400x400
215 3423426
>>23413

>Ещё раз - аппаратные эксепшены это не прерывания, это ошибки при выполнении инструкции


Бля это опять ты, наркоман.
По кукарекам про ядро винды можно было догадаться.
съеби уже отсюда, дурачек, хватит хуйню ходить высирать, найди себе полезное занятие.
216 3423431
>>23426
Клован, ты сейчас буквально с интелом споришь, говоря что их эксепшены не эксепшены. Я тебе даже скрин притащил, где чёрным по белому написано в чём эксепшены от прерываний отличаются. Читай манул и съёбывай нахуй.
https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
217 3423436
>>23431
Спорить с шизиками это не мой профиль. Я тебе предложил пойти куда нибудь в другое место, в /hw/ например, рассказывай там что там у интела и как.
Здесь про код, который ты ни читать не понимать не умеешь.
218 3423439
>>23436
Ты код на бумажке пишешь, лол? Заебись вебмакаки понабежали в системный язык, даже не знают что такое эксепшены и как они работают.
219 3423440
>>23439
ну вот и уебывай, жироебина.
220 3423454
>>23431
Чел, экзэпшен типа class HyiPizda : public std::exception {...};

throw HuiPizda - процессору, арму, интелу и даже эльбрусу похуй. Ядру ос - похуй. Тут нет никаких экхепщенов в регистре mxcsr или других, нет прерываний аппаратных. Это чисто языково-компиляторская хуйня
221 3423543
Мда, пиздец шиз с умным ебалом кринжа намешал в кучу, а чтобы выглядеть убедителей прикрылся "авторитетом" интела.
222 3423613
>>23543
Да это троль был, понятно же из контекста, забей.
image.png1,5 Мб, 1122x765
223 3423757
>>23454

>СЛЕВА ДЕРЕВО


>@


>А ДАЛЬШЕ НЕ ДЕРЕВЬЯ


Раньше считали это проблема машинного интеллекта. Как наивно. Оказывается у биомусорного интеллекта те же проблемы.
224 3423794
>>23757
Чел спокнись, ты обосрался на весь тред.
225 3423798
>>23543
>>23613
А в чём он >>23454 не прав-то? Почему шизик?
226 3423834
>>23798
К этому анону претензий нет.
Шиз это данный пердоля.
>>23439
>>23431
>>23343
>>23237
227 3423836
>>23834
Да и к тебе нет претензий, ты просто даун, даже жалко тебя.
228 3423866
>>23836
Ты приходишь в с++ тред пообзываться? Или утчонить - что сам не понимаешь?
229 3424047
>>10643 (OP)

Если я хочу подменить функцию SetLastError, чтобы сразу падать с кодом ошибки, или хукануть ее, я ебнутый?
230 3424342
>>23431
я помню случай, когда интал высрали свои теории охуительные насчёт какой-то технологии, но, по итогу эта теория в действительности оказалась поносом индусов на практике, которая работала криво и метод выкинули в помойку просто.

как-же так интел-богов попустили, что же делать против неоспоримых...

спор ниочём
231 3425640
>>24342
Шиз, при чём тут это? Тут чел не понимает, что интел пишет в своей доке. Интел тут ни при чём
232 3425643
>>25640
Съеби уже, даун. Одного раза не хватило быть обоссаным.
233 3425645
>>10643 (OP)
аноны, почему так? как исправить?
пытаюсь создать 6 точек с координатами p и r . хочу чтобы они были немного направлены под 45 градусов примерно к горизонту, поэтому решил к координатам прибавлять небольшое случайное число, а конструктор один раз сгенерировал число и при каждом запуске подставляет его. сранд как видите добавил.
Point::Point(uint id)
{

srand(time(NULL));
int x = (rand() % 10);
p = id + x;
int y = (rand() % 10);
r = id + y;
std::cout<< "Запустился Point("<<id<<") "<<"x = " << x << " y =" << y<<"\n";
}
234 3425649
>>25645

> сранд



> 2k25


> срань



Хоспадя, ну хотя бы в main её вынеси
235 3426186
>>25643
Пошла нахуй дурочка, не могущая в логику. exception c++ != exception выставленный процом в регистре
236 3426191
>>26186

> выставленный процом в регистре


Да я уже понял что ты даже читать не умеешь.
237 3426193
>>26191
дада. дурачок дорвался до volume 1
238 3426537
>>25649
исправил с помощью АИ , видел я в интернете библиотеку <random> но нигде не было написано по русски как диапазон поставить.
239 3428012
Блять как уже заебали эти плюсы. Только сегодня узнал что есть такое ключевое слово как thread_local и добавлено оно аж в 11 стандарте.
3 года пишу коммерческий код на плюсах. И такая хуйня постоянно случается
240 3428017
Почему в качестве переключателей в схемах используют транзисторы, а не диоды?

>>28012
Первое правило С++: никто не знает С++.
.jpg1 Мб, 2027x3029
241 3428019
>>28017
Производители транзисторов в сговоре с производителями процессоров, очевидно же.
242 3428032
Всем привет. У меня вопрос скорее по дизайну
Короче есть класс и я хочу через константные шаблоны (или как это правильно называется) по максимум в него захуячить

enum class PrimitiveType {
Rectangle,
Triangle,
Circle,
Cube ect..
};

template<PrimitiveType T>
class Primitive {
// эти типы-enum также пойдут в эти классы
std::shared_ptr<Texture> texture;
std::unique_ptr<Buffer> buffer;
//....
// Метод для получения вершин в зависимости от типа примитива
std::vector<float> getVertices() const {
if constexpr (T == PrimitiveType::Rectangle) {
return { ...data
else if constexpr (T == PrimitiveType::Triangle) {
return { ...data
//.....
также хочу с методами сделать
void draw() {
if constexpr (T == (PrimitiveType::Triangle) | T == (PrimitiveType::Rectangle)) {
texture->bind();
//...
}
else if constexpr (T == PrimitiveType:: ...
//...
в итоге получиться такая вот простыня. Насколько это говно по дизайну или в целом cгодится? Ну или хотя бы на этапе проектирования пусть будет так, когда уже все виды объектов и операции с ними прояснятcя, то уже реализовать через более модный/современный шаблон, там фабрика типов или какие там есть.
242 3428032
Всем привет. У меня вопрос скорее по дизайну
Короче есть класс и я хочу через константные шаблоны (или как это правильно называется) по максимум в него захуячить

enum class PrimitiveType {
Rectangle,
Triangle,
Circle,
Cube ect..
};

template<PrimitiveType T>
class Primitive {
// эти типы-enum также пойдут в эти классы
std::shared_ptr<Texture> texture;
std::unique_ptr<Buffer> buffer;
//....
// Метод для получения вершин в зависимости от типа примитива
std::vector<float> getVertices() const {
if constexpr (T == PrimitiveType::Rectangle) {
return { ...data
else if constexpr (T == PrimitiveType::Triangle) {
return { ...data
//.....
также хочу с методами сделать
void draw() {
if constexpr (T == (PrimitiveType::Triangle) | T == (PrimitiveType::Rectangle)) {
texture->bind();
//...
}
else if constexpr (T == PrimitiveType:: ...
//...
в итоге получиться такая вот простыня. Насколько это говно по дизайну или в целом cгодится? Ну или хотя бы на этапе проектирования пусть будет так, когда уже все виды объектов и операции с ними прояснятcя, то уже реализовать через более модный/современный шаблон, там фабрика типов или какие там есть.
243 3428036
>>28032
Я не буду это говно читать.

Бля когда обезьяна уже добавит разметку нормальную для кода. Неужели это так сложно...
244 3428040
>>28017
Потому что транзисторный эффект нужен, чтобы малый ток большим управлял. Потому что входы кушают энергию на шине, а входов много.

https://www.fryazino.info/news/334
https://bigenc.ru/c/effekt-shokli-alioshina-4141b8
245 3428041
>>28036
там сложно, ты бы даже с разметкой не понял
246 3428052
>>28012

>Только сегодня узнал что есть такое ключевое слово как thread_local и добавлено оно аж в 11 стандарте.


Ну тебе может не очень надо было. Как новый стандарт выходит, обычно много статей выходит, что там нового. Нужные вещи как-то сразу схватываются. А так, очень удобно бывает где-то в функции сделать static thread_local std::vector для промежуточных расчетов.
247 3428055
>>28017

>Почему в качестве переключателей в схемах используют транзисторы, а не диоды?


На диодах невозможно построить базис в булевой логике. На транзисторах, два транзистора - это штрих Шеффера, NAND gate, из которых можно строить произвольные логические схемы. Можно делать смешанную диодно-транзисторную логику, но для функциональной полноты все равно транзисторы будут нужны.
248 3428056
>>28032
Не очень понятно, что ты хочешь делать. Обычно вершинам не надо знать, какого они типа. Т.е. прямоугольник - это просто четыре вершины, круг - N вершин, и каждый примитив просто возвращает интервал вершин в каком-то буфере. Т.е. треугольник 1 - вершины [0,3], треугольник 2 - [3, 6], круг 20 - [100-280] и т.д. В текстуре отрисованный примитив - это или прямоугольник, или полигон, тот же набор вершин.
249 3428083
Как бороться с международными террористами, которые вводят новые безумные стандарты С++?
250 3428084
>>28083
Вводи умные стандарты

> кто, я???

251 3428086
>>28032
В ООП это не так делается, тебе не нужны темплейты:

class Primitive {
std::shared_ptr<Texture> m_texture;
std::unique_ptr<Buffer> m_buffer;
public:
_ auto getTexture() const { return m_texture; }
_ auto getBuffer() const { return m_buffer; }
};

class Triangle : public Primitive {
triangle privats
public:
_ vec<float> getVertices() {
_ _ return vec<float>(getBuffer()->data, getBuffer()->data + getBuffer()->size );// от балды
_ }
}

А вообще пиши ка лучше на питоне, ты явно не тот инструмент взял, шаредпоинтеры вообще понимаешь что это и зачем? Судя по всему (по названию переменной) не особо
252 3428089
>>28086
Наследование зло.
253 3428095
>>28089
Я тебе и предлагаю язык сменить раз ты нихуя не понимаешь что ты городишь.
Вон раст иди изучай, хоть такая польза от него будет.
254 3428171
Почему за столько лет не придумали утилиту cppb, которая бы автоматически собирала проекты?
Достаточно было бы написать cppb build и проект собрался. cppb run и сразу запустился.
255 3428190
>>28171
Потому что нет единого компилятора и единого способа управлениями зависимостями. В других языках они есть, поэтому там и утилиты такие тоже есть. Так что продолжай жрать, что дают, симейклист сам себя не напишет.
256 3428219
Здравствуйте. Можете мне кто-нибудь объяснить как работать с Eclipse 4.34 ? Компилятор к нему cygwin скачал. Как с этим вообще работать хуй проссышь.
В С++ я вообще не бум-бум, до этого только на Питоне кодил, мне бы пошагово показать-описать как написать на нем программу, хотя бы просто с выводом, откомпилировать ее, а дальше я сам? Буду благодарен.
257 3428231
>>28055
Резистор-диодная логика есть, но рано или позно сигнал придётся усиливать.
258 3428298
>>28171
У меня есть build.sh в проекте. Он собирает, запускает тесты, бенчмарки и деплоит доку. Придумал я его за полчаса. Ты так не можешь?
Как вы заебали со своим нытьём.
259 3428361
>>28219
Пижи в любом текстовом редакторе, компилируй через командную строку если проект небольшой, либо смаком/баш скриптами/мейкфайлами, тут уж кто как дрочит. Зачем пердолить некроговно это?
260 3428365
>>28298
У тебя билд сш, у кого то в докере какая то хуйня, другие пидорасы не стали ждать и свою сппб написали, у десятого тулчейн со скриптами в всл, сотый просто в симейк все нахуй ебанул даже выкачивание либ. Тебе пояснять нужно почему это всё хуйня?
261 3428369
>>28231

>Резистор-диодная логика есть


Есть, но на ней можно сделать только И и ИЛИ. Элемент НЕ не сделать, поэтому она не полна, и произвольную схему невозможно построить.
262 3428462
>>28365

>Тебе пояснять нужно почему это всё хуйня?


Начинай.
263 3428467
>>28462
Не буду, это риторический вопрос. Если ты этого не понимаешь то нам не о чем будет побеседовать, так что и нахуй
image.png96 Кб, 1112x284
264 3428470
Интересно а как они этого добились? По сути это академическая довольно хуйня, возможно ли доказать с формальной точки зрения что оптимизации не создают совсем иную программу нежели мы определили? Мне кажется нет и современные компиляторы могут определять совсем иную логику. Есть какая литература где это раскрывается?
265 3428473
>>28467
Нихуя не риторический. Что тогда не хуйня?
266 3428480
>>28473
Ну ты никогда других технологий не видел что ли? Посмотри другие бекенд языки
267 3428496
>>28480
Слив засчитан.
268 3428511
>>28480

>Посмотри другие бекенд языки


Если с джавой или шарпом сравнивать, то пусть лучше будет build.sh.
269 3428529
ребят, с говно тулингом нужно просто смириться
бороться с этим бесполезно
270 3428535
>>28470
Почитай про single static assignment form, и как на основе SSA компилятор оптимизации делает. Там все достаточно просто для понимания.
271 3428536
>>28462
Нет единого стандарта и поэтому очень сложно разобраться в чужом проекте.
272 3428567
>>28536
cmake стандарт де факто.
Если в проекте нет ридми, где расписаны зависимости и процесс сборки, то это мусор.
273 3428594
>>28567
Так чё, симейк уже научился парсить ридми?
274 3428601
>>28567
Симейк у себя там внутри определиться не может что стандарт, а ты говоришь стал. То пэкэдж конфиг, то конан то фетч контент то файнд для зависимостей. Каждая либа это уникальная девочка к которой нужен свой подход. И это мы еще не подошли с вопросам сборки и тестов, просто зависимости подключить это уже цирк с конями
275 3428602
>>28171

> Почему за столько лет не придумали утилиту cppb, которая бы автоматически собирала проекты?


> Достаточно было бы написать cppb build и проект собрался. cppb run и сразу запустился.


make, cmake, qmake, qbs, Boost.Build, meson и так далее - тебе мало что ли?
276 3428606
>>28602
NuGet еще, сам все зависимости скачает и все соберет лол
277 3428610
>>28602
В технологиях стандарты играют очень важную роль, потому что они позволяют решать бизнес задачи эффективно, быстро и понятно. Так что в этом плане лучше иметь один хуевенький стандарт чем стони очень ахуенных. Так например было с развитием интернета, появился тсп айпи и все это очень быстро разрослось до огромных масштабов. Да при этом куча академиков и прочих задротов негодует мол слишком много хуйни вы высрали ребята, стандарт говно, неправильный и не соответствует нашим перфекционистким ожиданиями, вот мы придумали кучу других получше. Но кому не похуй на мнение этих задротов? Главное текущий стек решает денежные вопросы на том уровне который требуется, менеджерам и клиентам все нравится, и если ты не тупой то ты понимаешь на каких людей ориентироваться в этом вопросе. Вот плюсовики люди немного глуповатые и аутистичные. Они не понимают. Поэтому их язык и проиграл в эволюцию
278 3428611
>>28601

> Каждая либа это уникальная девочка к которой нужен свой подход.


Проиграл
279 3428614
>>28610
Ну вот тебе cmake и есть "хуевенький стандарт".
image.png32 Кб, 453x287
280 3428617
>>28614
Слишком поздно появился. Уже все
281 3428619
>>28617

> Слишком поздно появился. Уже все


Он уже 25 лет как появился, але
282 3428736
>>28614
Cmake и Git, это во первых.
Во вторых он не хуевенький, он ведь не только сборку обеспечивает но и позволяет интегрироваться IDE вроде QtCreator или даже VS Code. В последнем что бы тот же раст использовать надо и модуль установить и тулчейн.
283 3428829
>>28619
Только год назад поддержку в студию завезли. А что было раньше в консоли, не похуй ли, там этого консольного говна тысячи, никому не нужного.
284 3428835
>>28012

>3 года пишу коммерческий код на плюсах


ого! дак ты уже не гадишь в штанишки и мамка довольна!
285 3428855
>>28829
До этого специально не завозили, чтобы разрабы не могли слезть со студии и MSBuild.
286 3428928
>>28619
А плюсам все 45, а сишке из которой вся эта инфраструктура росла все 55. Вот и думай головой
287 3429006
>>28855

>чтобы разрабы не могли слезть со студии


А надо ли слезать с единственного комфортного острова посреди океана говна? Чтобы что? Давиться вимом? Или блокнотом на браузере? Последний кстати тоже от Майкрософт.
288 3429038
>>29006

>комфортного острова


Что там комфортного? говноговна
289 3429057
>>28171

>собирала проекты


насколько плоха идея собирать проект с инклюдами? у меня 3 файла пока, я их просто заинклюдил, в терминале просто выполняю
g++ main.cpp
290 3429092
>>29057

>насколько плоха идея собирать проект с инклюдами?


Для маленьких проектов - норм. Минус в том, что проект каждый раз пересобирается заново, это может быть долго когда количество файлов в проекте увеличиться.
291 3429518
Переменная это именованая область памяти.
Но операция int* x = new int[10] создает область памяти без имени, однако которой мы можем пользоваться через указатель.

Как назовем такие области?
292 3429531
>>29518

> Переменная это именованая область памяти.


Нет. Гугли про разновидности *-value.
293 3429542
Как разобраться в стандартных корутинах? Это правда настолько сложно насколько как мне кажется. Или я просто тупой?
294 3429650
>>28171
>>28190

> симейклист сам себя не напишет.


Мне последний смейклист написал чатгпт с несоклькоих скриншотов папочек. Реально говорю
295 3429652
>>29542
Мне показалось сложно
296 3429739
AI-ассистенты предлагают несуществующие и вредоностные пакеты
https://www.opennet.ru/opennews/art.shtml?num=63062
297 3429758
>>29542
Скорее бессмысленно. Эти корутины буквально сахарок с простором для UB.
298 3429759
>>29739
Пакетобляди соснули.
299 3429770
>>29739
Прикольно
300 3429925
>>29758
правильно нах надо. лучше ебануть в функцию автомат вручную как деды воевали

switch(status) {
case INIT: ...
case WANT_READ: ...
case RETRY: ...
...
301 3429995
>>29925
Ты быдло, если так сеть прораммируешь
302 3429997
>>29995

> Ты быдло, если так сеть прораммируешь


А ты как сеть погромируешь? Небось openssl используешь? А там в сорцах именно вот так, лол.
303 3430104
>>29997

>А там в сорцах именно вот так, лол.


Покеж...

>А ты как сеть погромируешь?


Я прграммирую как игорь сысоев в nginx.

Начитывание определённого куска данных и пототм замена хендлера чтения на следующий. Причём текущий активный хендлер сам по себе несёт информацию о состоянии обработки входящих данных и заменяет вот такие switch. В чём минус свитчей? В том, что в зависимости от состояния у тебя возможны ещё ошибки, ошибки формата данных, таймауты, и в засисмости от текущего состояния соединения все эти действия тоже требуют разной обработки. Меняя хендлеры, ты можешь в одном месте В ОДНОМ ХЕНДЛЕРЕ вместе иметь логику обработки входящих данных, обработку таймаута или разрыва соединения и прочее. ВСЁ В ОДНОМ МЕСТЕ
304 3430271
>>29925
Причём тут автомат вообще? Иди учи матчасть и не позорься.
305 3430516
Изучаю WinAPI, обнаружил в студии крутой редактор ресурсов. Но с его помощью можно создать только диалоговые окна. И меня вопрос, как обычно разрабатывают оконные приложения? Может не нужно определять оконный класс и создавать оконное окно, может программа должна начинаться сразу с немодального диалога? Мне удобнее именно так сделать, чем создавать пустое окно, а потом на него добавлять элементы с помощью CreateWindow.
306 3430539
>>30516

> как обычно разрабатывают оконные приложения?


На сишорбе, а потом склеивают с крестами с помощью технологии C++/CLI.
307 3430542
>>30539
Это для петушониксов-пориджейсей.
А вот как делали оконные утилитки трушные олдфаги.
image.png74 Кб, 1024x971
308 3431050
Это просто тотал пизда. Продакшн реди код. Шаблоны приправленные корутинами, разберется в этой хуйне только профессор, кто вообще мог представить что плюсы к этому придут, как это юзать и где я пока представить не могу. Да, на асио здорово конечно писать сеть, но вот это уже дроч
309 3431066
Вот один момент который мне кажется странным в принятом стандарте для корутин так это то что они связали синтаксис с семантикой. Бля то есть челы из стандарта не смогли различить эти два понятия и завязали ключевые слова на классы стл... Вся стандартная библиотека написана на основе кора языка, а теперь блять наоборот. Это как нахуй? Мозг ломается. Почему просто не добавить было еще других ключевых слов которые бы скрывали под собой реализации и позволяли кастомизировать корутины?
310 3431082
>>31066
Подробнее
311 3431122
>>31066
ты б еще спросил как написать статический метод std::source_location::current()
и почему иницализер лист очевидно являясь синтаксической сука продукцией не работает если не заиклюдить <initializer_list>
312 3431142
>>26537
Каждый раз создавать random_device это очень тормозно
313 3431144
>>26537
>>31142
Ну и вообще IO в конструкторе это фу
314 3431152
>>31142
>>31144
Ты к инфузории придираешься. О производительности на таком уровне даже мысли не проскакивают. Бьюсь об заклад, этот дебил не знает, что такое IO.
315 3431191
>>31122
Очевидно потому в комитете куча дегенератов которые в первую очередь воют с самими собой у них там разные фракции уровня рыба рак и щука , потом воют с теми кто пишет на плюсах очевидно что сами комитетчики не пишут и только потом делают плюсы.
316 3431634
По какой книге лучше всего изучать С++?
image.png382 Кб, 418x600
317 3431637
318 3431654
>>31634
cppreference.com

Книги по языку вы серьезно блять? Я понимаю там книги по многопоточности или вот по той же асинхронщине с корутинами, по работе с 2D данными, по криптографии, по компиляторам в конце концов.
Но блять книги по языку это для кого и для чего? Для преподавания в вузе что ли, что бы типа ректор или кто там мог какую то теорию преподавать.
319 3431668
>>31654

> cppreference.com


ты типо совсем додик челу при изучении языка советовать справочник?

> Книги по языку вы серьезно блять?


у тебя с возрастом совсем мозги отшибло и уже забыл как сам учил?
неожиданно чтобы хотя бы начать программировать нужно научиться азам языка и программирования в целом
6.png306 Кб, 418x600
320 3431687
>>31637
Вот правильное издание.
321 3431743
>>31668
Я ничего никогда не учил, у меня были сперва навыки в регулярных выражениях и css, строго для моих небольших задачь, нашел примеры начал играть начал разбираться как это работает и все.

Потом все таки пришлось освоить JS, хотя он довольно сложный и громоздкий особенно его старый стандарт, тем не менее его плюс в том что не нужно ставить тулчейны и осваивать сборку что бы увидеть результат своего говнокодинга, а так же все таки плюс скриптовых языков в том что они сразу показывают где ты обосрался, тогда как тот же си выдает сигментейшн фолт во время работы и поди найди где косяк.

Тулчейны их установка и настройка это то что не дает вкатится и что должно быть в учебниках. От самого простого до самого сложного, с примерами и объяснениями что куда вкладывается и какие условия должны быть, что такое ABI что такое шаред и статик либы, короче все вот это. Про сам язык я вообще хз что там можно читать, если у тебя нет конкретных задачь которые тебе надо решать при помощи выбранного инструмента. А если есть то учебник это самый неудобный источник информации для интересующих тебя вещей, мало того что они там могут быть размазаны по всему учебнику, так еще их там может и не быть или быть с пол чайной ложки.
322 3431875
аноны вы используете санитайзеры?
Если да, то как часто: на регулярной основе, по ситуации или может совсем не юзаете?

И какой лучше, втроеный :
add_compile_options(-fsanitize=undefined,address)
или лучше сразу Valgrind хуячить?
323 3431880
>>31743
Учебник лучше, т.к грамотно составленный учебник учит новичка лучшим практикам и советует каких плохих паттернов надо избегать.
324 3431885
>>31875
Только при разработке и отладки.
Санитайзер и валгринд разные вещи, адрес санитайзер вроде в неинициализированные указатели свинью подкладывает, а валгринд ее подкладывает за пределами массивов.
>>31880

>учит новичка лучшим практикам и советует каких плохих паттернов надо избегать.


Ну вот для новичка это вообще ненужная и вредная информация. Вместо того что бы учиться писать код ты засираешь себе голову чужими предрассудками. Причем как правило на каком то мелочном уровне типа не используйте goto.
325 3431887
>>31634
Очевидный "C++ за 21 день".
326 3431888
>>31887
Бля в глаза ебусь.
c++21.png35 Кб, 640x549
327 3431889
018ed3ed-72d9-7d7b-9c69-2f6ef2965b70.jpg158 Кб, 650x918
328 3431908
>>31637
Буду изучать по этой
329 3432094
>>31654
Хорошая книга обстоятельно описывает весь язык с примерами, подводными камнями и т.п. По мурзилкам выучить язык можно, но это путь, что будешь наступать на все грабли и потратишь кучу времени на поиск ошибок, когда в книге это всё объяснено.
330 3432115
>>32094
Хорошая книга тут ни при чем. У людей быстро теряется навык если это не базовая хуйня вроде ходить и на велосипеде ездить.
Если ты через пару лет сядешь за руль после сданного экзамена то это считай что ты нихуя и водить не умеешь, а в спорте практически везде так, особенно в профессиональном, если ты выпал на пол года, то это все, пизда, считай заново начинай.

В интеллектуальной деятельности все еще сложнее. Не можешь ты прочитать "хорошую" книгу и освоить такой язык как плюсы, подводные камни и начать его применять. Ты либо пишешь 5+ лет на крестах постоянно, читаешь статьи, смотришь доклады и нон стоп решаешь задачи, наступаешь на грабли и ищешь ошибки. Либо ты язык не знаешь. Хороших книг не существует которые бы научили тебя разработке. И такой подход применим к любой деятельности. Все самому надо делать, смотреть, запоминать, а не хавать пережеванное, тогда от тебя будет толк
331 3432129
Где можно скачать бесплатные классы на С++?
332 3432193
>>32129
Сходи к Столярову набери у него ведро темплейтов, за одно спросишь где он классы берет
333 3432229
>>26537
Поясните за IO в конструкторе. Я правильно понял, что раз - он нарушил SOLID/SRP и два у него будет говняк в stdout при многопотоке?
334 3432274
>>26537
Какие расширения принято использовать? Раньше вроде для си использовали .c и .h, а для C++ - .cpp и .hpp. А теперь встречаются .cxx, .cc и даже *.h.
335 3432310
>>32274
.cpp и .hh для заголовков
336 3432346
>>32310
Почему .hh, а не .hpp?
337 3432364
анонче, есть кто пишет используя Vulkan? как полет?
сложно ли с OpenGL пересесть?
в OpenGL так то ебки много, а в вулкане будет еще больше..страшно сука...
или в OpenGL это ебанутая ебка с сишным API и онлайн компиляцей шейдеров.
а в вулкане ебка хотя бы по фен-шую будет...
338 3432400
Считается ли нормальной практикой использовать Microsoft Visual Studio 2022 для разработки на С++?
339 3432403
Чет смотрю вакухи и много где требуется знание DPDK. Но вилок на эти вакансии нет. Че там нормально платят? Или это говно на уровне кутов?
340 3432518
>>32364

>анонче, есть кто пишет используя Vulkan?


Пока нет смысла, это говно мало где поддерживается
341 3432521
>>32400
Да, Вижул поддерживает практически последние стандарты языка, в то время как ГЦЦ нет
342 3432599
>>32403

>Чет смотрю вакухи и много где требуется знание DPDK. Но вилок на эти вакансии нет. Че там нормально платят? Или это говно на уровне кутов?



Это разработчики DPI, платят меньше среднего, да и сама деятельность зашквар
image.png159 Кб, 803x980
343 3432602
>>32599
Я тебя не понял. А в чем зашквар, типо строители кибергулага? Ну хз, вот например вакуха, я конечно нихуя не понял что именно им надо и что они делают, но звучит как системный клауд нейтив. По идее хай тир работа.
Еще в каспе есть вакансия на sd wan, тоже вроде прикольные задачи на программируемые сети, я почитал это как раз именно бизнесовый проект на SDN, возможно конечно расширяемый до слежки гэбней, еще судя по репутации каспа, но по описанию там такого нет
image.png37 Кб, 702x417
344 3432603
>>30516

> И меня вопрос, как обычно разрабатывают оконные приложения?


IMGUI
345 3432647
>>32603
читы на майнкрафт?
346 3432652
>>32599
А где сейчас нормально платят? Готов работать на пукнум.
347 3432654
>>32652
в нвидии
image.png60 Кб, 535x341
348 3432661
>>32603
ТАРКОВ DAYZ И ПУБГ

По сути мне вакансии то и нахуй не нужны
349 3432667
>>30516
>>30542
Трушные олдфаги юзали MFC, Borland C++ и свои обёртки над user32, а затем, когда MS охладел к плюсам, пересели на Qt, GTK и шарп с WinForms. Вообще, удивительно, что студия до сих пор поддерживает диалоговые ресурсы.
000.PNG2,2 Мб, 1509x943
350 3432669
351 3432790
>>32518
Dota 2
PUBG Mobile
Rust – (переход с DirectX на Vulkan)!
Mobile Legends: Bang Bang
и это только малая часть
352 3432791
>>32654
уже не актуальная информация
353 3432883
>>32518
Дурень. Вулкан литерали везде.
Я ОБКАКАЛСЯ НЕЙРОНКА НЕ ПОМОГАЕТ 354 3433092
Аспирантомакака, дрочу детальки. Решил попользоваться библиотекой https://github.com/phmkopp/vtu11 .

Происходит пикрил пускание жидкой подливы. Файла alias.hpp нет, но он есть.
В чём тут может быть подвох? Может быть проблема в папке? Нейронка не помогает. Умнику тонна нефти.
355 3433122
>>33092
симейк фил в проекте есть?
356 3433131
>>33122
Нет, делал всегда через g++.
357 3433140
>>12674

>Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust. Весь смысл с++ это программировать микроконтроллеры



Ебать шизоидный поток бредней ИТТ
358 3433172
>>12674

>Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust.


Нахуя им это делать? Раст же язык без задач.

>Весь смысл с++ это программировать микроконтроллеры.


МК программируются на C, дятел.
359 3433177
>>33172

>МК программируются на C


На Си++ тоже пишут, например для RISC V cpu, просто задач для этого меньше
360 3433183
>>33177

>например для RISC V cpu


Ты ебанутый?
361 3433184
>>33122
Через симейк же сложнее?
362 3433189
>>33183
Ты о чем? Много кто так делает
363 3433195
>>33131
Тогда ебись с путями
но а так вообще убери -Ivtu11 ты включил эту папку как место поиска заголовков и зачем то ее пишешь в инклюдах, это значит что препроцессор в папке vtu11 будет искать vtu11/inc/header.hpp

Раз уж ты выбрал этот путь настоятельно рекомендую следующее:
Или включай заголовки без путей вообще (за исключением системных типа <sys/types.h>), заай полные пути поиска через -I.
Или откажись от -I вовсе а в файлах пиши #include "../inc/head.hpp" то есть пляши от папки где лежит .cpp исходник в ту сторону где лежит от него заголовок.
Тогда проблем не будет.
364 3433198
>>33189
Во-первых, какое значение имеет архитектура? Если вендор обычно выпускает конпелятор, то это конпелятор для C.
Во-вторых, каким надо быть ебанутым дебилом, чтобы тащить плюсы во встройку.
365 3433200
>>33198

>Если вендор обычно выпускает конпелятор, то это конпелятор для C.


Ну и референсные либы для переферии и тп.
366 3433202
>>33198
Потому что одного Си уже не хватит чтобы раскрыть весь потанцевал ядер RISC V
368 3433223
>>33195
Подправил файл. Благодарю/
Теперь работает, однако почему разраб не мог подумать о такой ошибке?
369 3433230
>>33223
разрабам пофиг обычно, пока не стрельнет
370 3433271
>>33184
Не особо:

# объявляем с++ проект
project(vKOTun
VERSION 0.1
LANGUAGES CXX
)
# задаем стандарт
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# записываем все наше говно в переменные
set(SRC_FILES
"main.cpp"
"puk.cpp"
"ku/karek.cpp"
)
set(C_FLAGS
-O2
-Wall
-ffast
)
set(C_DEFS
-DDOLBOEB_MODE
-D_GNU_BARANKI
)
set(С_INCLUDES
"${PROJECT_SOURCE_DIR}" # корневая папка проекта (переменная генерируется симейком автоматически)
"${PROJECT_BINARY_DIR}" # папка сборки проекта (нужна что бы подключать генерируемые хидеры)
"${PROJECT_SOURCE_DIR}/vtu11" # что бы не писать в инклюдах путь до заголовка
"${PROJECT_SOURCE_DIR}/ptu129" # аналогично
)

# в конце скрипта
# задаем выходной экзешник:

add_executable(vKOTun ${SRC_FILES})
# далее -Iнклюдим список наших директорий
target_include_directories(vKOTun SYSTEM AFTER PUBLIC ${С_INCLUDES})
# далее опции компиляции и дефайны
target_compile_options (vKOTun PRIVATE ${C_FLAGS})
target_compile_definitions(vKOTun PRIVATE ${C_DEFS})
# далее линкуем либы (если они есть)
target_link_libraries(vKOTun PRIVATE ${C_LIBS})
# задаем скрипт
install(TARGETS vKOTun DESTINATION ${CMAKE_INSTALL_BINDIR})
370 3433271
>>33184
Не особо:

# объявляем с++ проект
project(vKOTun
VERSION 0.1
LANGUAGES CXX
)
# задаем стандарт
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# записываем все наше говно в переменные
set(SRC_FILES
"main.cpp"
"puk.cpp"
"ku/karek.cpp"
)
set(C_FLAGS
-O2
-Wall
-ffast
)
set(C_DEFS
-DDOLBOEB_MODE
-D_GNU_BARANKI
)
set(С_INCLUDES
"${PROJECT_SOURCE_DIR}" # корневая папка проекта (переменная генерируется симейком автоматически)
"${PROJECT_BINARY_DIR}" # папка сборки проекта (нужна что бы подключать генерируемые хидеры)
"${PROJECT_SOURCE_DIR}/vtu11" # что бы не писать в инклюдах путь до заголовка
"${PROJECT_SOURCE_DIR}/ptu129" # аналогично
)

# в конце скрипта
# задаем выходной экзешник:

add_executable(vKOTun ${SRC_FILES})
# далее -Iнклюдим список наших директорий
target_include_directories(vKOTun SYSTEM AFTER PUBLIC ${С_INCLUDES})
# далее опции компиляции и дефайны
target_compile_options (vKOTun PRIVATE ${C_FLAGS})
target_compile_definitions(vKOTun PRIVATE ${C_DEFS})
# далее линкуем либы (если они есть)
target_link_libraries(vKOTun PRIVATE ${C_LIBS})
# задаем скрипт
install(TARGETS vKOTun DESTINATION ${CMAKE_INSTALL_BINDIR})
371 3433283
>>33271
ну нахуй, я лучше в раст пойду, там такого пердоллинга нет
мимо
372 3433287
>>33283
В расте то карго-томлы за тебя дядя напишет, ага
373 3433298
>>33287
Так там все очевидно и понятно, а тут целый скриптовый язык
374 3433308
>>33298

>Так там все очевидно и понятно


Как в расте слинковать растовую либу с твоей прогой на расте?
375 3433311
>>33298
Тому кто их 100+ раз заполнял может и очевидно, а кто первый раз видит вообще нихуя не понятно как это заполнять. А там ведь по сути надо тоже заполнять по феншую (как и в симейке) или тебя нахуй пошлют. Разница лишь в том что симейк можно и не брать если не нужно, а пидорастовский томл к изучению обязателен, без него ничего напрямую нельзя собрать.
376 3433313
>>33271
Дак у него даже так пизданётся всё, он инклюдит неправильно.
377 3433314
>>33271
Анон, тебе не повезло - собеседник анальный клоун.

У меня есть пикрил папка с говном. Причём каждая последующая библиотека говна использует в своей работе предыдущие, как голландский штурвал,

Это говно будет работать? А нет, не работает.

cmake_minimum_required(VERSION 4.0)
project(govno)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(SRC_EXE "Main.cpp")
set(VAR_LIB "Variables.cpp")
set(MAT_LIB "MaterialRead.cpp")
set(MAP_LIB "MapRead.cpp")
set(ARR_LIB "ArrayInit.cpp")
set(VTK_LIB "VTKOutput.cpp")

add_library(var STATIC ${VAR_LIB})
add_library(mat STATIC ${MAT_LIB})
add_library(map STATIC ${MAP_LIB})
add_library(arr STATIC ${ARR_LIB})
add_library(vtk STATIC ${VTK_LIB})

set(C_FLAGS
-O2
-Wall
-ffast
)

set(С_INCLUDES
"${PROJECT_SOURCE_DIR}" # корневая папка проекта (переменная генерируется симейком автоматически)
"${PROJECT_BINARY_DIR}" # папка сборки проекта (нужна что бы подключать генерируемые хидеры)
"${PROJECT_SOURCE_DIR}/vtu11" # что бы не писать в инклюдах путь до заголовка
)

add_executable(main ${SRC_EXE})
target_include_directories(main SYSTEM AFTER PUBLIC ${С_INCLUDES})
target_compile_options (main PRIVATE ${C_FLAGS})
target_link_libraries(main var mat map arr vtk)
install(TARGETS main DESTINATION ${CMAKE_INSTALL_BINDIR})

Тут где-то слэш не тот?
377 3433314
>>33271
Анон, тебе не повезло - собеседник анальный клоун.

У меня есть пикрил папка с говном. Причём каждая последующая библиотека говна использует в своей работе предыдущие, как голландский штурвал,

Это говно будет работать? А нет, не работает.

cmake_minimum_required(VERSION 4.0)
project(govno)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(SRC_EXE "Main.cpp")
set(VAR_LIB "Variables.cpp")
set(MAT_LIB "MaterialRead.cpp")
set(MAP_LIB "MapRead.cpp")
set(ARR_LIB "ArrayInit.cpp")
set(VTK_LIB "VTKOutput.cpp")

add_library(var STATIC ${VAR_LIB})
add_library(mat STATIC ${MAT_LIB})
add_library(map STATIC ${MAP_LIB})
add_library(arr STATIC ${ARR_LIB})
add_library(vtk STATIC ${VTK_LIB})

set(C_FLAGS
-O2
-Wall
-ffast
)

set(С_INCLUDES
"${PROJECT_SOURCE_DIR}" # корневая папка проекта (переменная генерируется симейком автоматически)
"${PROJECT_BINARY_DIR}" # папка сборки проекта (нужна что бы подключать генерируемые хидеры)
"${PROJECT_SOURCE_DIR}/vtu11" # что бы не писать в инклюдах путь до заголовка
)

add_executable(main ${SRC_EXE})
target_include_directories(main SYSTEM AFTER PUBLIC ${С_INCLUDES})
target_compile_options (main PRIVATE ${C_FLAGS})
target_link_libraries(main var mat map arr vtk)
install(TARGETS main DESTINATION ${CMAKE_INSTALL_BINDIR})

Тут где-то слэш не тот?
378 3433316
>>33271
Злощастный vtu нужен для библиотеки vtk.
379 3433323
>>33311
>>33308
Это троллинг тупостью? А бсолютно все подчеркивает лёгкость управления пакетами в Расте (Карго) и ебаный ад в Симейке, где без диплома бакалавра не разобраться.
380 3433324
Аноны, которые уже имеют опыт в несколько лет или может быть даже не первый десяток у меня вопрос.
Какие книги вы читаете чтобы расти как программист? Меня интересуют не только книги по стандартам или объяснения каких-то вопросов, а вполне по общим темам.
Что вообще делаете чтобы развивать свои навыки, соображалку, наблюдательность?
Можно, конечно, сказать про рефакторинг и тд, но многие вещи оттуда приходят с опытом. Я имею ввиду, что когда читал книжки по рефакторингу, то до некоторых вещей уже дошёл сам собою.
381 3433329
>>33324
Проблемы с которыми сталкиваются люди с опытом в книгах не описываются.
382 3433338
>>33324
Хочешь стать сеньором по книжке?
383 3433358
>>33324
Agner Fog, мануалы по оптимизации. Там много интересного собрано про современные компиляторы и процессоры. Формашлёпам НИНУЖНА.
384 3433376
>>33314

>С_INCLUDES


Наверное коментарии в симейке нельзя так писать, убери их

так то в остальном все верно но твои либы будут компилировать с отдельными опциями компиляции и отдельными флагами (а точнее без никаких так как они заданы только для main), либо позаменяй
target_include_directories -> set_include_directories
target_include_directories -> set_compile_options

т.е на глобальные функции которые глобально задают опции для всех таргетов/имен, либо для каждой либы свои задай так же через таргет, либо вообще говоря в SRC_EXE положи туда все эти .cpp файлы от либ и они все скомпилятся в объектные файлы по отдельности и сами слинкуются, тебе не нужно из них отдельные либы делать. Это нужно для тех случаев когда у нас несколько программ у которых единая базовая часть выделенная в статическую библиотеку. В твоем коде этого явно не нужно
385 3433601
>>33324

>Что вообще делаете чтобы развивать свои навыки, соображалку,наблюдательность?


если это касательно кода вопрос. То начни пилить сложный проект: компилятор например, сильно поможет понять как вообще все устроено "буковки превращаются в битики", почему возникают те или иные ошибки (синтаксические, семантические, runtime etc).
В процессе написания куча вопросов по языку тупо отпадет. Например чем ссылка отличается от указателя (я не про шаблонные определения), а про суть.
Ну или ченить попсовое возьми, там свой сервак запили (на процессах, потоках, асинхронный).Пилишь по шаблону,гуглишь(статьи по теме достаточно) что не ясно и так по кругу.

А так совет, не сильно упарывайся именно по языку (это только инструмент). Сто раз уже писали,что только читать книги по кодингу (и писать простые примеры из них) это бред с КПД 20%.Ибо простые, базовые вещи ты и так поймешь в процессе, а сложные через теорию и lib1.cpp не усвоишь.
Параллельно смотри всякие видеолекции с ютуба(по сетям, по БД, АКОС, любая база короче которую не знаешь).

ну и последнее насчет книг. Я за все время может от силы 5 книг тебе назову стоящих (кстати две из них от рус. авторов), а сколько я их читал/начинал/читал_частично несчесть.
Все тупо бабки, тупо коммерция.
Лайфак.
Открываешь книгу, смотришь:
если в ней ~800+ страниц (это стандарт епту) и из них введение занимает 5% (от автора и прочая хуета), потом еще 5% базовые копипасты(история, общая теория "первые компьюетеры были на перфокартах...") сразу скипай такое говно.
Они там охуели, книги уже тупо одним и тем же шаблонам делают. Лучше смотри универовские лекции (там от МФТИ, и других вузов).
386 3433636
>>33324
Через несколько лет нужно уже думать как перекатиться в лиды/манагеры, как залутать больше сотыг и какую плиточку положить в своей новой хате. Какое программирование? Годами собираешься за клавой горбиться?
387 3433918
>>33636

>Через несколько лет нужно уже думать как перекатиться в лиды


Калпитализм так не работает, тут нельзя ничего планировать больше чем на 5 лет, каждые 5 лет какойнибудь крысис ковид-хуид и твоя контора закрылась либо попросила уйти по собственному желанию.
Тут надо не маняфантазировать о том как стану лидом и буду по пол ляма загребать, а грамотно распоряжаться баблом пока оно стабильно поступает в карту.
image.png26 Кб, 709x136
388 3433977
>>33329
Там и описываются. Но так как они уже достаточно хорошо решены что уже книгу написали то как правило за это платят пикрил
389 3433988
>>33092
Чел ты совсе овощь?
Хедер онли. Просто скопируй эти хедеры и заинклудь пути. Все.
>>33184
25 год на дворе пиздец.

Один пару хедеров заинклудить не может у другого симейк сложнее.
390 3434012
>>33323
Где ответ на вопрос, пидораст?
391 3434013
>>33324
Изучай DDD.
392 3434205
>>33918
Ну в общем-то да. Я просто к тому, что фокус внимания немного не туда направлен. Вот у меня есть вышка ивт и те самые пару лет оптыа. Нахуя мне чё-то учить постоянно? Уволят за профнепригодность в одном месте (что очень маловероятно, скорее повысят) пойду в другое.
393 3434483
Аноны, unit-тесты вообще важны для разрабочтика С++?
Меня как то на собесе спросили, я сказал в душе не ебу что это.
Стоит ли сильно упарываться по этой теме или достаточно иметь общее представление?
394 3434532
>>34483
Плюсы это бэкенд язык для библиотек. Сам то как думаешь важно ли тестировать свои библиотеки или похуй и так сойдет? Единственное исключение это наверное всякий формошлепий код на кутах где тупо не позапускать автотесты, под остальное тесты должны писаться без разговоров о нужности. Это просто хороший подход к разработке и самое главное один из центральных столпов программирования вообще. Ведь если твой код будет часто падать или решать не ту задачу в один момент люди вокруг начнут очень сильно сомневаться в твоих компетенциях, ты с таким фиаско как собираешься по зп расти и грейду? Поэтому написал функцию -- ебани тест, это отлично поможет понять что с ней так архитектурно даже и мыслить о программировании в совсем другом ключе заставляет
395 3434546
>>34483
Какие-то тупые вопросы. Видимо совсем зелёный. Unit-тесты - это просто тесты. Насколько они важны? Не важны, если тебе на качество поебать. Если ты привык делать наперекосяк через жопу. Вот ты написал класс/функцию и не знаешь работает она или нет? Это программирование "на авось". В больших проектах такая хуйня не прокатит. Как ты собираешься вести проект где допустим полмиллиона строк кода и десятки разных классов и прочего. Сложность проекта растёт со временем и когда ты добавляешь новый функционал, старый будет ломаться в рандомных местах. Потому что ты его не оттестировал нормально в разных условиях, при разных входных данных. Получится что ты то не предусмотрел, это не рассчитал... Будешь накладывать заплатки, латать дыры. Но это начнёт ощущаться только на больших и средних проектах, где 200+ тысяч строк кода.
396 3434562
>>34532
>>34546
понял, спасибо.
ну я вот начала потихонечку google tests осваивать, всякие мок заглушки и прочее
397 3434566
>>34532
>>34546
еще вопрос, если не сложно.
а эту хуету Doxygen/Sphinx тоже надо освоить?
398 3434567
>>34566
Ни в коем случае и никогда. Никакой документации разработчик писать не должен. Если спросят просто кивай. А истории о целых сокращенных отделах которые сидели поддерживали подробную документацию ты можешь увидеть на этой доске и описанную ситуацию наоборот тоже
399 3434574
>>34483

> Аноны, unit-тесты вообще важны для разрабочтика С++?


> Меня как то на собесе спросили, я сказал в душе не ебу что это.


> Стоит ли сильно упарываться по этой теме или достаточно иметь общее представление?


Иметь общее представление. Все равно ситуация по тестам в каждой конторе будет разная.
400 3434575
>>34532

> Единственное исключение это наверное всякий формошлепий код на кутах где тупо не позапускать автотесты


Вполне себе позапускать.
401 3434576
>>34575
Неужели через эмуляцию событий клавиатуры/мыши и последующее сравнение скрина окна с эталоном?
402 3434577
>>34576

> Неужели через эмуляцию событий клавиатуры/мыши и последующее сравнение скрина окна с эталоном?


Что то сравнивается с эталоном попиксельно, но нп кутешные вещи, а то что рендерится пониже.

А так да, эмуляция событий тача и сравнение событий bss/евентов в логе.
403 3434578
>>34566

>а эту хуету Doxygen/Sphinx тоже надо освоить?


Ну бля, тот же ответ что и предыдущий. Как ты это представляешь если в команде допустим 10 человек работает и в проекте сотни классов/под-классов/под-проектов/модулей. И как один программист будет объяснять другому программисту структуру проекта? Ну очевидно же, что какую-то форму документации придётся иметь, чтобы ориентироваться во всём этом. Иначе это превратиться в демонстрацию на коленке - эй ты чувак! Смотри вон там класс Scheduler::SchedulerImpl, возьми там метод такой-то...

Естественно это всё не так актуально на маленьких проектах/маленьких бюджетах/маленьких командах. Если ты в одну харю пилишь проект, естественно нахуй тебе doxygen. А когда контрибьютеров много, чтобы они пользовались твоим кодом, надо показать, рассказать, что как работает, дать примеры и т.д.

Никто блять в твою голову не может залезть, если там на 2 тысячи строк кода и ноль комментариев, нахуй такой код кому-то будет нужен.
404 3434592
>>34012
Хрюкни скуф
405 3434595
вот я пилю свой проект (сложный достаточно). Много библиотек, классов, чего только нет.
С одной стороны я хочу по максимуму захуячить все в один класс, типа:
class Car {
Engine engine;
Driver
driver;
// etc...
}
и через методы дергать все что мне надо.
Однако писать тесты для такого кода сложно.
Тогда лучше заранее все делать через DI, но это тоже какой-то пиздец получается.
Мне интересно как вообще тим-лиды с архитектурой справляются. Сразу хуячат проект где весь код максимально не связный?
406 3434596
>>34595
Через медиатор, лул
407 3434669
Хм, в свежих IDE JetBrains 2025.1 похоже наконец допилили поддержку модулей до стабильного состояния. Потестил вчера в Rider, вроде никаких проблем как раньше нет, подсветка синтаксиса не отъёбывает каждые 10 минут.
408 3434679
>>34669

>JetBrains


Сразу на хуй
409 3434753
>>34669
ура?.. прошло 5 лет с выхода стандарта...

cmake то модули нормально уже научился собирать?
410 3434755
>>34679
Как будто есть что-то лучше. VSCode - забагованный текстовый редактор, Студия - какое-то легаси говно без развития.
>>34753

> cmake то модули нормально уже научился собирать?


Со сборкой уже года два как всё в порядке, с ней всё просто. Последние годы только IDE не могли нормально подсветку синтаксиса запилить для модулей, вечно что-то отъёбывало.
411 3434758
>>34755

>Как будто есть что-то лучше


Как будто ЖопаБрейнс не самоокуклился и его не пидорнули со всех уважающих себя компаний в приказном порядке.
412 3434767

> уважающих себя компаний


Нвидия-кун, у вас жбрейнс запретили?
413 3434796
>>34755
Имакс или неовим есть выбор современности.
414 3434815
>>34758
Не слышал об этом, хотя я им и не пользуюсь, за что это их так?
415 3434817
>>34815
да ни за что, он просто шиз
понятное дело джетбрейнс свою дейтельность в россии приостановили, вот он и сидит обиженный
416 3434827
>>34817

> свою дейтельность в россии приостановили


Это не так неприятно, как например в Студии. В JB хоть есть поддержка прокси, прописал и работает всё, один хуй как истинные пираты бесплатно им пользуемся. А в Студии экстеншены, заблоченные в России, не работают нормально и прокси не впердолить, только VPN подрубать.
417 3434880
>>34817
>>34827
Понял.
А вообще когда есть кланг студии и прочее особо и не нужно.
418 3434941
>>34827

>А в Студии экстеншены


Формошлеп, плез
419 3434959
>>34941
какая связь?
420 3435135
>>34959
Прямая, в Студии экстеншены не нужны
421 3435146
>>35135
Ты сказал? До 22 студии ей буквально было невозможно пользоваться без решарпера или помидора

Скажи например как мне сейчас просмотреть в дефолтной студии все вызовы конкретной функции, откуда и кем она вызывается
image.png89 Кб, 838x507
422 3435275
>>35146

> все вызовы конкретной функции


Вот это что ли?
423 3435347
У плюсов даже иде нормальной нет. Одна какая то хуйня, вскод блять, студия (легаси), си лаен вообще больше напоминает какую то парашу для эмбедед разработки и простой хуйни для написания библиотек. Креатор это вообще пиздец прям урод в семье уродов. Этот язык точно кто то проклял
424 3435349
>>35347
Диды в имаксе линукс напейсали, а ты не можешь без иде лаба2 сдать?
425 3435353
>>35347
Базовички сидят на Rider с msbuild. Никакого пердолинга с конфигурацией сборки, оно просто работает. И встроенная поддержка vcpkg есть, все либы сами ставятся, проще чем расте даже.
426 3435354
>>35353
Не знаю что там у тебя за базовички, но в моем понимании базовички не занюхивают чужой пердеж
427 3435369
>>34596

>медиатор


что такое медиатор?
428 3435389
>>35369
Хуйня, которую придумали гуманитарии ебаные. Имитирует компьютерную сеть внутри процесса на локальной машине, да, это полная шиза. Вместо того, чтобы просто вызвать a() потом b(), ты кладешь сообщение в очередь, дальше обработчик его достает, вызывает a(), результат кладет в новой сообщение, медиатор его достает, понимает что надо вызвать b(), кладет сообщение для b и так далее.
429 3435433
>>35347

>иде нормальной нет


и на хуй не нужна
430 3435594
>>35389
То что наптсал ты звучит действительно глупо, но вообще это концепция диспетчера, так что думай.
431 3435804
>>35594
Медиатор, диспетчет, хуетчер - это все сорта говна, одна и та же идея. Инфоцигане придумали 100500 слов, но все крутится вокруг шины событий и асинхронных вызовов. То есть, обычная ненадежная сеть. Писать так внутри локального процесса, где вызов гарантированно будет сделан - это шиза 80 уровня. Зато можно впаривать джунам книжки про чистую архитектуру, чистый код, чистый зад и так далее.
432 3435885
>>35804
Шина событий и асинхронность необязательно связаны же. Шина событий может просто для декоплинга использоваться во вполне синхронном однопоточном коде. Типичный пример использования принципа инверсии зависимостей. Как обработать обратный вызов в коде от ниже лежащих слоев? Например у тебя в игре есть цикл обработки событий, тебе нужно сделать выход из игры. Выход из игры может быть разный: по нажанию клавиши и при выборе пункта меню. Ты делаешь событие "выход" и это событие обрабатывется в хендлере в цикле, а клавиатура и меню генерируют одно и то же событие. Таким обазом у тебя цикл событий не имеет двух отдельных реализаций выхода из игры и поэтому не зависит от того сколько у тебя причин и мест выхода из игры
433 3435921
>>35804
Ну то что ты описал звучит как едала для игровых движов запустили сцену А она там бесконечно крутится, пукнули/умерли/еще что то сделали из цикла вышли вернули значение. Далее взависимости от него заного A либо в B либо в меню. Обычно это все делается тупо сишными вызовами по косвенным адресам, либо как в скриптовых языках вообще возвращают класс в виде переменной и "деспетчер" его запускает как (new sceneClass).run()
чем это плохо - тем что что в каждом игровом движке надо по новой вот эту костыльную хуйню переизобретать, ведь все игры в этом плане устроены одинаково - это последовательный переход от одной сцены к другой.
434 3435926
>>35885
В гуи очередь событий оправдана.
Представь, что вместо вызова выстрелить(оружие,цель) ты кладешь событие "стрелять" в очередь, потом где-то хз где в коде обработчик достает это событие и делает стрелять. Вместо четкой структуры и навигации по коду у тебя получается месиво из обработчиков, которые хуй пойми в каком порядке друг другу кидают сообщения.
435 3435927
>>35885
Причем вместо единой шины событий ты бы мог сделать много сервисов для той же цели декоплинга. Например для обработки выхода сделал бы сервис "выходятор" c методом "выйти". Выходятор бы дергался в коме меню после pollEvent и при выботе пункта меню. Главное отличие единой шины только в большей абстракнности и универсальности. Если бы у тебя не было шины событий то у тебя было бы 100500 "шин", чтобы пропихивать их кругом по коду.
436 3435931
>>35926
Я с этим согласен, что ивент бас- это проследние прибежище для того чтобы декоплить зависимости. Но почему-то разрабочики на godot считают по-другому...
437 3435937
>>35931
Но а с другой стороны игры слишком оопешные по свой сути. По сути в каждой игре перекрестное взаимодействие у 100500 "объектов" и ты никуда не уйдешь от этой сложности. Например в ECS ты будешь класть компоненты в репозиторий откуда в цтикле будешь их выбирать. По сути та же шина.

Игру нельзя написать как утилиту для обработкт текста или программу обработки хттп запроса, между которыми разница в архитектуре небольшая.
438 3435984
>>35937
Кармак мог, а современные анриал разработчики не могут.
439 3435999
>>35984

>мог


А сейчас уже не может? Он вообще-то еще живой виндузятник
440 3436041
Как под линем понять в где программа больше всего времемни проводит? ЦП не нагружен полностью, но всё равно проблемы с производительсностью
441 3436061
>>36041
man gprof
442 3436066
>>36041
Ой, извиняюсь я ( >>36061 ) долбоеб
perf конечно же
443 3436089
sps
444 3436843
Насколько С++ кроссплатформенный?
Многие пишут, что С хорошо переносится, но на деле: в POSIX один интерфейс, в WinAPI - другой, в какой-нибудь нестандартной ОС вообще третий. На пример, даже управление файлами на уровне каталогов различается по апи. Многопоточка тоже зависит от апи ОС.
А вот в новых стандартах С++ вроде появились классы одинаковые везде, но действительно ли ни каких подводных камней с переносимостью нет?
445 3436898
>>36843

>в POSIX один интерфейс, в WinAPI - другой, в какой-нибудь нестандартной ОС вообще третий


К языку это не имеет отношения. Если хочешь кросплатформу, пердолься с Кьютом каким нибудь, но там то же свои проблемы.
446 3436918
>>36843
Подводные в том, что стандарты существуют только на бумаге.
447 3437012
>>36843

> в POSIX один интерфейс, в WinAPI - другой


Что ты имеешь в виду? В винде никогда не было стандартных плюсов и сей, там всегда было подмножество именуемое VisualC. Бил Гейтс считал что программы должны быть приколочены к винде ее собственными непохожими стандартами/типами, некрософт до сих пор пожинает наследие пидора очкастого и его клоуна.
448 3437015
>>37012
Зато как зажили при индусе!
449 3437067
>>36843

>Многие пишут, что С хорошо переносится


Имеется в виду, по сравнению с ассемблером. Это деды писали в семидесятых.
450 3437072
>>36843

> Насколько С++ кроссплатформенный?


Берешь куте и кроссплатформишь.
451 3437382
На дворе вроде как 2025 век, а приходится всё ещё писать костыли типа:
setlocale(LC_ALL, "Russian");
чтобы отображались русские буквы, а не кракозябры в Windows.
452 3437388
>>37382
на дворе вроде как 2025 век, а ты там че то на консоль выводишь
453 3437402
>>37388
А куда выводить?
454 3437428
>>37382
На дворе 2025 век, а консоль винды до сих пор работает в кодировке cp866. К плюсам какие претензии?
455 3437438
>>37428
Потому что в винде обратная совместимость с софтом из нулевых. Никто не мешает включить в консольке UTF-8 через SetConsoleCP(65001)
456 3437442
>>37402
Попробуй windows, современная ос, а то всё пердишь в калсою 50-летней давности. Хотя даже эта современность наступила еще в 2000 году, юникод, все дела, пора бы уже подтянуться, за 25 лет-то.
ylnbcqvz.jpg47 Кб, 512x455
457 3437596
>>10643 (OP)
Ща начну пилить свой проект, буду делоть на последних стандартах ибо могу, будут и модули, и принты и представления и прочие умеые указатели, каеф
458 3437665
>>37596
Лол
459 3437734
>>37596

>будут и модули, и принты и представления и прочие умеые указатели, каеф


Лучше бы на пидорасте тогда писал.
460 3437741
>>35349
Но ведь имакс - это не просто редактор, это самолёт-вертолёт-иде-лисп машина, ясное дело, почему в нём диды линукс напесали.
461 3437769
>>37741
Т.е. нормальная иде на самом деле есть.
462 3437786
Интересно стл станет когда-нибудь продекшн реди? Мне кажется до этого мало кто доживет из современников. Забавно вообще как они имплементируют библиотеку. Типо если они в чем то сомневаются или чуть чуть что-то не так, то и нахуй это делать)) сами разберутся
463 3437800
>>37596
А template <::<<<void()>>..<<...>> std::forward<Args...> && > будут? Если нет - то не тру
464 3437808
>>37800

>template


Нет, обобщенных алгоритмов не планирую, а вот spaceship <=> ебану
465 3437849
Вы тут обсуждаете что угодно, но блять не самые базовые вещи, а именно паттерны и шаблоны проектирования.
Какие шаблоны, кроме основных (синглтон, фабрика, обсервер, стратегия, строитель и т.д., ну ты понел) ты применяешь на регулярной основе?
Больше всего меня интересует практика применения фасадов,Composite и Flyweight? Да, и вообще структурные шаблоны плюсы и минусы, для каких сценариях лучше применять
466 3437851
>>37849

> паттерны


Фу блять, ты из жабы или из шарпа пришёл что ли?
467 3437853
как в этом Clion говне обновить индексы?
Я сделал реструктуризацию проекта (по папкам раскидал условно файлы некоторые).
Проект собирает и работает, но часть заголовочных подчеркнута красным (file not found).
Я перезапускал проект, IDE, делал Reload Cmake Project (чтобы индексы обновить), удалял папку build.
Какого хуя это не исчезает???
468 3437854
>>37851

>шарпа


true
чувак на дворе 2025 год, сейчас от хорошего дизайна зависит 80% успеха, производительности, масштабируемости, тестирумости, поддержки, все короче, юноу
469 3438000
>>37849
Нахуй это надо дыбыл. Ну веб макаки дрочили все эту херню, потом собрались все на микросервисы переписали, даунский сброд, сейчас опять достают эти огромные многотомники дидов и снова дрочат копролиты. Так они же идиоты. Ты что хочешь быть идиотом? Я вообще даже и не вспомню когда меня на собесе спрашивали копратерны. Большую часть кода я за карьеру написал как сетевую это ио баунд задачи которые что то конкретное решают, нахуя там этот дроч? Плюсы это не совсем бекенд язык, даже если он в беке появляется то как правило решая конкретную задачу или оптимизацию, опять же зачем тут паттерны, только мешать будут. Если только какие-нибудь фаст пимплы и прочее, но это скорее техники чем
image.png33 Кб, 792x205
470 3438644
Зацените как подорвался
471 3438648
>>38644
Так он тебе всё верно пишет. В msvc конфиг проще чем у раста, просто пишешь какую либо хочешь и больше ничего делать не надо.
472 3438650
>>38644

> особенно под Windows


Читаем как: vcpkg хуй заставишь работать где-то кроме винды.
473 3438679
>>38650

>где-то кроме винды


То есть нигде, ты же не считаешь 1% декстопов выбором. Так что читаем: vcpkg работает везде, ибо винда это всё.
474 3438710
>>38679
Большая часть устройств в мире это не винда, а Линукс сервера и Линукс-based устройства. Десктоп это меньшинство
475 3438713
>>38679
При чём тут вообще десктоп? Других программ по-твоему не пишут что ли?
476 3438721
>>38644
Он так нелепо пытается хамить.
477 3438756
>>38713
Не пишут, то работа, как работодатель приказал, так рабы и пишут, нет воли, нет выбора, это к треду не относится. А люди пишут программы на компьютеры, компьютеры это декстопы, десктопы это винда, других нет.

То есть, если разговор про прошивки и прочую рабочую срань, это не разговор про "под что пишут", а разговор в "какую шарагу устроиться". Это не тред трудоустройства и сравнения шараг, а тред написания софта, смотри первый параграф выше.
478 3438757
>>38756
Хуя шиза
479 3439161
>>38679

>ты же не считаешь 1% декстопов выбором


99% десктопов сейчас - это вкладка браузера. Морда современной проги - это или веб/электрон или кросс-платформа вроде Qt. Винда как единственная платформа умерла даже в игрулях, своем главном бастионе.
480 3439166
>>39161
Сейчас модно внаглую называть черное белым и наоборот, срать тупостью когда очевидно, что это тупость. Не знаю как называется эта болезнь, но мозги точно мертвы.
481 3439170
>>38756
>>39166
Ты бухой или таблетки забыл пропить?
482 3439171
>>39166
Мразь ну так перестань этим заниматься
483 3439197
>>37015
Так в том и дело что мокрософт при очкарике был нишевой конторой с набором программных продуктов, а сегодня это гигакорпорация всосавшая в себя кучу всего. Для размеров сегодняшней майкрософт бизнес уровня xbox (считавшийся во времена очкарика большим прорывом для компании) это не то чем надо заниматься компании такого уровня (продали бы уже ее габену что-ли). А в сервера суперкомпьютеры майкрософт залезть не может, так как с виндой и своими говностандартами ее там нахуй не ждут, а майкрософт линукс гордость непозволяет. Если бы пидор очкастый сразу бы внедрил позикс окружение и стандартные библиотеки как в макоси, майкрософт бы сейчас чувствовал себя намного увереннее.
Как минимум он бы сейчас был на ровне с ораклом, а не ходил бы насрав в штаны.
image.png8 Кб, 750x102
484 3439890
>>38644
Че он так общаться то начал, я ему никакие промты не писал. Временами такие фразы бывают проскакивают. Видать там уже обучалка по двачу поехала обучаться?
485 3439964
>>10643 (OP)
Блять никогда не понимал эти ваши указатели, а тут как понял.
486 3439988
>>39964

>эти ваши указатели


Ты про какие? В СиПП уже умные указатели, переучивайся
0ad6f8001caa1a198f83cd3f88eff289706dd8cf96172499ec4a6de5daff4ac5.jpg132 Кб, 800x467
487 3440328
>>39890
он тя еще в киоск за пенным газку оформить отправит сырок наху
488 3440329
как никак обучался на постах лучших умов двача
489 3440364
Как делают программы типа FAR? Интересует именно вывод такой графики в консоли.
490 3440449
>>39964
И все еще не понял, потому что в шапке хуета.

int ⚹d;
void ⚹p;

- это не "указатель на тип", это просто переменные указателя которые вообще говоря могут быть равны. int в данном случае означает две вещи:
1) размер сегментов в памяти для считывания/записи (4 байта делаются одной командой ldw или stw)
2) какого типа преобразования надо делать перед записью или после считывания

Например:

int8_t b = -127; // 0x80
d[0] = b; // (int)-127 - это 0xFFFFFF80, то есть перед записью надо расширить число 32битным знаком

int64_t l = d[0]; // то же самое только расширение 64битным знаком после загрузки 32 битного числа

Ну а void это просто голая переменная указателя подходящая для хранения и сравнения адреса, но не предполагающая какие то обращения по нему в принципе.

Это все довольно простые и банальные вещи (лоу тир так сказать)
мид-хай тир это:

const char ⚹
char ⚹const ⚹

packet и alignment
491 3440463
>>40364
гугли pseudo gui
на вскидку скажу что там используются ascii блоки в сочетании с символами цветов терминала типа:
/████████
▀▀▀▀▀▀▀▀
https://theasciicode.com.ar/extended-ascii-code/block-graphic-character-ascii-code-219.html
https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux#answer-28938235
492 3440607
Подскажите кто-нибудь ковырял ui либы под десктоп? Нашел вот тут парочку, посмотрел некоторые
brisk
HikoGUI
cycfi/elements
Nuklear

Писал кто-нибудь на них что? Какая наименее забагованная? Плюс хотелось бы иметь еще возможность кастомизировать виджеты без сильной боли чтоб приложуха не напоминала общий библиотечный стиль
image.png4 Кб, 327x119
493 3440706
>>39988
Неумные тоже есть, никто их не удалял, пользуешься ими, а умнокал игнорируешь.
Смотри как настоящие профессионалы на крестах программируют. Сначала понаписал соевого кала, а потом проблевался и удалил.
494 3440824
>>40607
Qt, остальное васянские поделия
1.png41 Кб, 1110x597
495 3440826
Как установить Qt на винду в условиях санкций? Установил QtCreator с гитхаба в Program Files, потом скачал установщик Qt и установил в папку C:\Qt. Но подключить Qt как kit в QtCreator не получается - ошибка на скрине. Как исправить эту ошибку и связить IDE с Qt?
496 3440831
>>40824
Хочешь сказать не существует гуишной либы с виджетами? А как люди тогда десктоп пишут свой если им не нужны такие махины как куты?
498 3440834
>>40831
Существуют и до хуя, но все они васянские поделия без документации и комьюнити
499 3440835
>>40831
Под виндой психически здоровые люди делают либо нативный интерфейс который проще qt-параши, либо электрон с отдельным бэком.
500 3440838
>>40835
Здесь подвачну, я бы и все остальное на Електроне/JS запилил
501 3440839
>>40832
Неактуально.
Указанный в статье прокси выдает мой айпи и инсталлер пишет, что установка с моего айпи запрещена.
Онлайн-инсталлятор устанавливает только Qt, но не устанавливает QtCreator. QtCreator надо ставить отдельно, после чего повторяется вот эта ошибка >>40826
502 3440840
>>40839
Тогда качай офлайн инсталер с офсайта и пердолься
503 3440883
>>40826
Сурсы собираются за пару минут. Еще и статически линковаться сможешь.
504 3440884
>>40840
С шестой версии больше никаких офлайн инсталлеров
>>40826
На винде - никак. Учись пользоваться сторонними репозиториями типа Homebrew или собирай из исходников.
505 3440891
Что вообще разрабатывают на C++ в России на работе? Вот вы, аноны, на работе что делаете? И почему это нельзя сделать быстрее на джаве?
506 3440895
>>40884

>С шестой версии больше никаких офлайн инсталлеров


Ну и пошли они на хуй тогда
507 3440920
>>40891
Большая часть вакансий это куте-десктоп\эмбедед госуха. Поэтому большинство тут работающих делают именно это. Ни на каком другом языке ты это не реализуешь, есть еще опция писать это все на си, но бля, это уже совсем дедовщина.

Наверное есть еще всякие короли разработки которых допустили до плюсов в больших коммерческих компаниях. Занимаются они хайлоадом, поисковыми движками, языковыми моделями, но лично я не припомню найм с улицы на такие вакансии. Обычно таким ушлым приемом занимается яндекс нанимая наивных студентов на вакансию по плюсам а потом закидывая их разгребать кал на питоне условном
508 3440967
Собрал ща гуишную либу написанную на 20ых плюсах а там 4к варнингов кек. Студенты кстати наши писали
509 3441064
>>40967

>гуишную либу


Контролы сами отрисовываются или системные?
510 3441074
>>40463
Это понятно, что выводятся символы по знакоместам. Интересует как именно можно в С++ выводить символ в определенное знакомество? У нас же только потоковый ввод/вывод из коробки.
511 3441095
>>40826

>Как установить Qt на винду в условиях санкций?


https://aqtinstall.readthedocs.io/en/stable/getting_started.html#installing-qt
Ему надо прописать конфиг с нужными серверами:
https://habr.com/ru/articles/709064/comments/#comment_26408910
Еще можно через vcpkg, но будет собираться из исходников, что может быть долго.
512 3441098
>>41074

>Интересует как именно можно в С++ выводить символ в определенное знакомество? У нас же только потоковый ввод/вывод из коробки.


https://en.wikipedia.org/wiki/ANSI_escape_code
513 3441120
>>41074
Ну вообще говоря stdin/stdout это просто FIFO который можно читать писать как в фаил и передвигать позицию командой seek()
514 3441141
>>40364
ncurses
515 3441150
>>40826
Да просто ебани нахуй пикрил в симейк на похуй и иди сходи кофе попей

include(FetchContent)

FetchContent_Declare(
qt5
GIT_REPOSITORY https://code.qt.io/qt/qt5.git
GIT_TAG 5.13
)

FetchContent_GetProperties(qt5)
if(NOT qt5_POPULATED)
FetchContent_Populate(qt5)
add_subdirectory(${qt5_SOURCE_DIR} ${qt5_BINARY_DIR})
endif()

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
516 3441213
>>41150
А Qt 6?
517 3441249
>>41213
Ну бля сам напиши
518 3441400
короче есть 3D двигло (майнкрафт).
Пока что я только генерирую мир (заполняю чанками)
Один чанк(16^3) это 4096 кубов, каждый куб это ~144 байта. Отрисовывается из них примерно 10-15%
нужно заполнить буфер вершин(полигоны/кубы) и отправить его на рендеринг в OpenGL.
изначально код написан на сырых указателях и адресной арифметике на макросах:
#define VERTEX(INDEX, X,Y,Z, U,V, L) buffer[INDEX+0] = (X);\
buffer[INDEX+1] = (Y);\
buffer[INDEX+2] = (Z);\
buffer[INDEX+3] = (U);\
...etc.
INDEX += VERTEX_SIZE;

хочу перехуячить все на std::vector + push_back
говорят сейчас push_back - inline и достаточно быстрые
В целом производительноьб упадет на 5-15% (10% потери рендеринга для 3D игры это мне кажется дохуя...)
Но избавит меня от ебки с голыми массивами их размерами и прочим.
Я понимаю что это всегда вопрос компромисов, но как бы поступил ты анон.
519 3441404
>>41400
Я бы не занимался преждевременной оптимизацией.
is-ebuchiy-scoobert-kam-spy-ir-resodsta-n-ce-v0-l7irpkpcetvc1.webp122 Кб, 720x689
520 3441422
>>40967

>4к варнингов


>Студенты наши писали


ПИЗДЕЦ. Надеюсь вы их всех нахуй отчислите и отправите на сво. Желательно сразу в шторм z. Плохой программист хороший штурмист
521 3441435
>>41141
А для винды как?
522 3441444
>>41435
Через WinAPI.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее