Готов сразу идти нахуй, но все же спрошу. На плюсах никогда не прогал, только на Си, Джаве, js, питон. Щас пытаюсь вкатываться в спортивное программирование и думаю попутно пересесть на плюсы, потому что хуле нет когда да. Стоит оно того только в контексте спортивной проге или нахуй оно не всралось, и писать дальше на чем пишется?
>>2379962 Я считаю стоит. Все равно для спорт проги тебе не надо будет в дебри языка закапываться. В контестах даже классы сложные редко пишут. Ты можешь плюсы для твоего случая за неделю выучить и уже писать что то. Контесты почти все на плюсах пишут
Если у меня есть класс, конструктор которого содержит список инициализации, должен ли я в деструкторе этого класса ручками чистить объекты в этих полях? Гуглеж выдает что-то невнятное, но раз нигде явно про это не написано, подозреваю, что не надо. Заранее спасибо.
>>2379993 Не надо. Почитай про выделение памяти на стеке и в куче. Для чего вообще нужен delete. Мягко говоря вопрос очень простой и покрывается базовыми книгами по плюсам.
>>2379993 delete удаляет динамически выделенную память. Аналог free delete без new не бывает, запомни. Если увидишь new без delete и наоборот, тут три варианта: 1. Погромист,который это писал криворукий 2. Эта пара new-delete разбита на кучу функций внутри, например, класса, но рано или поздно динамически выделенная память будет освобождена. 3. Это сделано специально чтобы выебать комплюхтер. Хотя вирусы обычно на ассемблере пишут.
>>2379998 >Последний десяток лет в C++ delete не нужен примерно нигде. Энтерпрайзомакака, спокухенс.
>>2380045 Тебе дали ебалу, которую затачивали под ситуацию 70х, а ты пишешь в 2022. Братан, бабки то нам надо отрабатывать. (с) Пиши Иван, пиши родной.
И вообще, переходите на фортран/фортран++ Это настоящее, мужицкое, наше
>>2380046 Пиши на своём жсе. Чтобы в 2022 на ультранавороченных машинах страницы дольше пары секунд грузились, чтобы у тебя проводник в шинде на электроне был написан и жрал 50 метров памяти, и прочие примеры того, что твои "Заточенные под ситуацию 20-х годов" языки — неоптимизированное сверхмедленное и жрущее память гигабайтами говно
>>2380050 Я и говорю о скорости. Ты, видимо, отрицаешь прогресс, я хуй его знает. Потому что любому идиоту понятно, что с прогрессом процессоров, твоя низкоуровневая шняга будет все медленнее и медленнее, т.к. к ним нельзя (или очень сложно) применять оптимизации, заложенные в архитектуре проца. Ручной код умрет нахуй со временем
>>2380072 из-за целого вороха таких копеек винда через секунду после запуска кушает 6 гб в простое, хотя разница в функционале с древними виндами равна нулю.
Я корне не понимаю как мне сделать график который при масштабировании мышкой сам меняет координаты свои, что бы нужная точка все время оставалась под курсором.
Я беру точки из вектора и рисую по двум точка линии, и так пока вектор на закончится.
Я уже все перепробовал, я не понимаю как мне сделать что бы график съезжал влево/вправо и вверх/вниз в зависимости от скроллинга. Я уже многое перепробовал. Я считаю по формуле, вот такой, координата мыши в виджететекущий масштаб - координата мыши новый масштаб. Как то похоже на то что хотел, но не то все равно
>>2380298 почему то двач все * звездочки стер, формула такая координата мыши в виджете умножить текущий масштаб минус координата мыши умножить на новый масштаб
Объясните, в чем вообще профит от многопоточности? Я еще пойму если бы это означало, что команды процессора одновременно исполняются(тоесть параллелизм), но ведь они тупо друг за дружкой идут, это очередь... В чем профит тогда?
>>2380354 Код не является эквивалентом латеха. Латех это лишь определенные формулы, а код это возможность постить сырой текст как есть. Такая возможность вредоносна, станут абузить постя всякое говно вроде картинок аски-артом.
>>2380385 > Объясните, в чем вообще профит от многопоточности? Я еще пойму если бы это означало, что команды процессора одновременно исполняются(тоесть параллелизм) Так и есть > но ведь они тупо друг за дружкой идут, это очередь... Нет
>>2380394 Если у тебя одноядерный процессор, то профита нет, разве что разделение блокирующих и фоновых операций. Но вряд ли у кого-то в 2022 до сих пор одноядерные процессоры.
>>2380278 если matrix, а или b выделен на стеке, то земля те пухом и вообще охуенная идея передавать в тред лямбдуц с захватом по ссылке, надежная бляьт как швейцарские часы
>>2380684 > но мало кому нужно Это обидно. Проект то прикольный, но его пишут 2.5 человека. Я скоро сам начну наверное писать, но это будет только через месяц в лучшем случае.
Компилил вручную glut-прогу вот этими командами 1) gcc -c -o 1.o main.cpp -D FREEGLUT_STATIC -I"C:\MinGW\include\GL" 2) gcc -o 1.exe 1.o -L"C:\MinGW\lib" -lfreeglut_static -lopengl32 -lwinmm -lgdi32 -Wl,--subsystem,windows Добавил в прогу #include <math.h> #include <string> и функции этих библиотек. В кодблоке (с динамической либой glut) все компилится нормально, а вот в командной строке выполняется, почему-то, только первая команда. Как дополнить вторую (а может еще и первую) команду, чтобы все заработало? Навскидку жеппой чую, что сюда надо стринговую и\или математическую либу как-то прилинковать, только хз как. Я прост рили пока нуб, не бейте сильно.
>>2380659 >>2380638 Бля, как хорошо,то я пока женщин программистов в живую не встречал, а то если бы узнал что в моей компании работает программистка, и выяснилось бы что она лучше меня програсмирует я бы в неплохую депоессию впал, но и возможно бы появилась мотивация достигнуть ее уроня
>>2380871 Короче, я хз, правльно ли я сделал. Я написал команду gcc -o 1.exe 1.o -L"C:\MinGW\lib" -std=c++11 -lfreeglut_static -lopengl32 -lwinmm -lgdi32 -Wl,--subsystem,windows И выдало точно такой же результат. С виду нихуя не поменялось
>>2381051 Ну, я компилю и вправду из другого места не тем компилятором, который встроен в codeblocks (тоже MinGW, но папка другая), но блин, я хз, что там могут быть за отличия принципиальные: опенгл я кинул и туда и туда полностью идентичный, а по мимо этого, из используемых библиотек, я просто хз, что может отличаться. До того, как подключил string и math все компилилось и там и там, значит различия в этих либах? Сириоусли? Че-то странно, если так
>>2381051 Я так понял, ошибка точно не в параметрах копилятора\линковщика? >>2381077 Да это я просто дуркую, на самом деле. Сейчас просто некогда подробно изучать, как сделать тоже самое в кодблокс. Насчет консоли - я тупо нашел готовое решение для статической либы глута, поэтому и юзаю консоль пока что без задней мысли. Потом мб погуглю как делать не через жеппу
Мне 30. В общем, у меня образования айтишного два курса в универе. Потом работал на всяких дноработах, через несколько лет устроился в 1с франч, дорос до сеньора и в провинции щас зарабатываю 150+.
Но вопрос не в этом. Почувствовал вдохновение попробовать что-то новое, (в 1с все заебало, заебался говнокод править стажеров и т д), погуглил курсы и нашел курс от яндекс.практикума "Разработчик с++". Там есть бесплатная часть на 35 часов, и платная часть еще на 120 вроде. Ну короче обучение планируется 9 месяцев, платить 120к. Обещают, что во время обучения реализую 4 проекта, и среди них аж целый браузер.
Как вы считаете, норм идея или нет?
Навыки у меня чисто 1сные. Могу какую-нибудь там рекурсию написать или циклы покрутить, ну я думаю вы представляете что там в 1с.
Уезжать в принципе никуда не хочу и вопрос не в деньгах, но хочется в принципе поковырять тру программирование и все что с этим связано. В конечном итоге научиться писать всякие крутые штуки вроде мессенджеров, браузеров, читов для доты/кс и т д
>>2381194 Нет, идея не норм. Работы на крестах исчезающе мало, и платят там не много, в сравнении с другими языками. И 120к это перебор, когда можно совершенно бесплатно скачать книжку по крестам, и все изучить.
Почему когда я пишу type a = b, то вызывается конструктор копирования, а не оператор присваивания? Это вдвойне странно, учитывая, что type a = a таким образом можно написать, а a(a) уже нет
>>2381275 >Из коробки и гуй, и интернет, и мобилки и вообще все что угодно. Хватит пиздеть. Мне нужно было самое элементарное - диалог выбора папки, и то нихуя из коробки нет, нужно качать левый пакет с говносайта. И так на всё подряд, на каждый тык новая закачка с говносайта и новая dll-ка рядом с твоей программой. А про винапи вообще молчу, как уебан копипастишь определения функций и всех параметров (с очередного говносайта, вот сюрприз) переопределяя руками всё подряд. Вот больше делать нехуй, параша ебаная.
>>2381283 Анон, если ты не можешь в чтение документации, то это твои проблемы. Не могу понять только, что ты забыл в треде крестов. Тут люди умеют читать.
>>2381285 Там по дефолту убожество из Windows 95, а для нормального современного диалога нужно качать пак апи-что-то там. И разумеется хуй кто скажет, надо рыть гуглы со стековерфлоу. Грязное пердолянство сплошное этот шарп.
>>2381292 Это "убожество" всем привычно. UX-дизайнеры в большинстве своём страдают никому не нужной хуйнёй, пользователи будут юзать что угодно и не жаловаться, потому что им похуй.
>>2381295 Мамкина обосрашка оправдывается. В новом диалоге есть избранное и прочие ПОЛЕЗНЫЕ функции, а в старом нихуя, тупо диск и всё, сиди ебись кликай, вот больше делать нехуй. В винде есть диалоги, но в шарпе их нет. Охуенный язык, в анус себе засуньте.
Еще прикол вспомнил. Хотел сделать как обычно статическую переменную внутри функции, ну чтобы отслеживать глобально состояние, а этот говношарп сренькнул и не дал. Полез в гугл, оказывается говномакаки лепившие компилятор этого шарподерьма не осилили статические переменные и они теперь НИНУЖНЫ, засирай класс этим мусором, кудкудах. Какие же дегенераты, пиздец просто.
>>2381194 > ну я думаю вы представляете что там в 1с А что там такого в 1с? Нельзя свои классы писать, только переопределять уже существующие. Непонятно только почему именно кресты. Больших денег тут нет. Большого бизнеса тут нет. Жаба и шарпы делают ту же работу, что 1с, только лучше подстраиваются под нужды бизнеса. Ну хотя опять же чем именно ты в 1с занимался, если например только бекенд пилил, то необязательно жаба и шарпы, любой бекенд сойдёт, хоть пыха хоть питон хоть что.
>>2381194 >2 курса вузика >1C >зарабатываю 150+ ты же успешный, состоявшийся в жизни человек зачем тебе советы от неудачников, кучкующихся в этом itt треде
>>2381415 чел, сама 1С с точки зрения архитектуры - замечательно сделанная система, просто топчик по сравнению со всем остальным но, тут есть большое но: свой встроенный скриптовый язык они сознательно проектировали так, чтобы на нем могло писать около айтишное быдло, всякие недоучки которых выкинули с середины технического вузика или что еще хуже различные вкатывальщики-жуки если ты хоть немного знаком с теорией языков программирования, знаешь парочку красивых и мощьных яп, то писать на встроенном скриптовом язычке 1С для тебя будет самая настоящая пытка; как правило если какой-нибудь умненький паренек или мужик который закончил вузик по профилю, то чаще всего он сидит на разработке модулей и конфигураций, но и это не спасает, и нужны стимулы - типа зависимости от пизды жены (типа ты в клювике приносишь денежку и у тебя есть регулярный секс) либо тупо банально алкогольная зависимость когда челик приходит домой и заливается дорогим алкоголем; иначе работать в 1С умному и образованному человеку невозможно
>>2381378 это днище, не относящееся к программированию на 1С все же существует и программирование, разработка новых модулей, конфигураций, доработка их
Надо написать кроссплатформенную либу. Значит мне надо периодически тестить это дело на разных ос и компиляторах (хотя бы msvc, gcc). И вот тут с зависимостями не понятно что делать, потому что раньше я использовал только vcpkg и в нем все компилил. Было очень удобно, потому что так даже qt без танцев с бубном собирался. Что юзать то в моем случае? На линуксе там вообще собственный контроль версий.
>>2381435 Через CMake. В CMakeLists.txt пишешь: find_package(зависимость1 REQUIRED) find_package(зависимость2 REQUIRED)
И всё. Если при сборке на винде указать toolchain file для vcpkg, find_package его юзанёт и сам подключит установленные зависимости. На линуксе должно быть что-то аналогичное. При сборке CMake сам сгенерирует проект MSBuild для винды и make-файлы для линукса, где юзаются зависящие от платформы компиляторы.
На самом деле, нет, для некоторых либ в CMake адская ебля, как и для самого проекта, но там проблемы уникальные для каждого случая, и надо сидеть и ебаться. Но лучше CMake для крестов ничего нет.
Как в qml сделать масштабируемую сетку? Т.е. чтобы я такой колёсиком фить-фить а оно на большее/меньшее число сегментов делилось и они сами в размерах менялись?
>>2381427 Ну нахуя ты соль на раны сыпешь. Я в мир 1с вообще пришёл после сикпа (да, и вузика по профилю), ебало представил? А теперь уйти не могу, т.к. во1 неохота дропать зп а во2 на работе на других языках ничем не лучше (особенно во фронтенде и мобилках - это почти 1 в 1 ебатория с формами в 1с, что печатными что интерфейсными, они не сами по себе плохие, а плохи тем что там до тебя нахуеверчено), и подозреваю что даже в науке не всё так радужно как кажется. Сам себя поймал в ловушку.
>нужны стимулы Пишу для себя всякую мелочь на других языках после работы. Не претендую на умность и образованность, просто к слову.
>>2379873 (OP) Есть языки по типу крестов, но чистенькие, не перегруженные, в которых болезни крестов побеждены, но при этом которые предназначены для той же области, что и кресты? Раст не предлагать (не справляется так, как кресты), сишку не предлагать (понятно что ооп в крестах не до конца ооп, скорее сахар, но жить в сишке даже без этого сахара как-то не здорово).
>>2380051 Процы с оптимизациями умрут со временем, уступив место процам, умеющим выполнять высокоуровневый код непосредственно, как завещали диды из семидесятых.
>>2381515 Не умрут, на низком уровне всегда будут экономить каждый бит. Как только появляется более мощное железо, на котором можно было бы запускать медленные высокоуровневые языки, сразу же появляется толпа bloatware-шизиков, которые думают, что раз железо стало мощнее, можно меньше оптимизировать и больше говнокодить. В результате скорость работы самого нового софта на самом новом железе всегда была одинаковая, что во времена DOS, что сейчас.
>>2381568 Да я уже почти 5 лет ни строчки кода не пишу, интересно прост за вашу мотивацию - срынком ведь формошлепы правят. Неужто из идеи? Вас даже расстреливать при раскулачивании кодомакак не будут.
>>2381565 >>2381572 Когда я год занимался покраской кнопок я выгорел и решил, что прогерство залупа ебаная (что по факту конечно так и есть). Когда я вкатился в кресты и начал трахаться с сегфолтами я воспрял. Да и в моей Гейропе найти годного крестовика довольно трудно, поэтому я ещё и на жирных иксах по зп.
может кто-нибудь знает где его можно достать за меньшую плату/бесплатно? есть несколько вариантов сайтов торгующих слитыми курсами, но нет уверенности что там не обманывают(
>>2381732 Что например? К чему ты высрался вообще? Я уже достаточно охуевал от грефоботов в свое время у которой финтехпараша с формочками и мобильным приложением это современный банк 21 века, а в европе отсталая хуйня мол, только почему в той "отсталой хуйне" можно обналичить чек выписанный твоему деду на папирусе и все россиянские кабаны как и цб хранят деньги там а не в синагогбанке. Нахуй идешь, ты меня уже одной строчкой заагрил, ебал твою мамашу вместо спора с тобой уебком.
>>2381762 Это проблема банка или реалий, в которых он существует? Некорректный пример - давай в швитой сделаем чтобы банкам было невыгодно хранить валюту и посмотрим, как банки отреагируют (спойлер - так же).
>>2381746 >Что например? Твои слова, говорят о том, что в Европе такого нет, у меня появились сомнения, поэтому тебе нужно доказать обратное, а именно то, что в Европе такого нет, иначе зачем ты это написал. >К чему ты высрался вообще? Интерес. >Я уже достаточно охуевал от грефоботов в свое время у которой финтехпараша с формочками и мобильным приложением это современный банк 21 века, а в европе отсталая хуйня мол, только почему в той "отсталой хуйне" можно обналичить чек выписанный твоему деду на папирусе и все россиянские кабаны как и цб хранят деньги там а не в синагогбанке. Где логика в этой части? У тебя какие-то проблемы?Инфантильность. >Нахуй идешь, ты меня уже одной строчкой заагрил, ебал твою мамашу Получается, что ты не можешь подтвердить свои слова и признаешь это? >вместо спора с тобой уебком. Какой спор?
>>2381770 > поэтому тебе нужно доказать обратное, а именно то, что в Европе такого нет, иначе зачем ты это написал. Доказывать нужно наличие а не отсутствие
>>2381765 >Это проблема банка или реалий, в которых он существует? Это риторический вопрос? Это проблема гоев которые облизываются с такого и добавки просят. >>2381766 Ух ты. А в условную Эстонию так деньги перевести сможешь? В то время как я могу перевести деньги из любой точки мира в другую точку мира заплатив за это 1 доллар да ещё и с определённой степенью анонимности.
>>2381787 Ну, а почему нельзя называть финтехпарашу с формочками и мобильным приложением банком 21 века? В европе что кнопочки на прерываниях процессора сделаны, или что?
>>2381793 У нас тоже свобода передвижения есть, ты скажи чем технически банки в европе отличается от наших, кроме вот этого примера со свифтом, так как понятно и так что только из за санкций мы не можем нормально переводить и получать деньги из за границы. >>2381794 Ну я так и понял, это как в том скриншоте с твиттера, медленные переводы в европе специально такие, что бы защититься от мошенников.
>>2381793 И право на создание здоровой семьи у нас тоже, есть, за это еще и деньги платят, а вот право на создание не здоровой семьи есть в европе, и это немного вводит в непонимание. Да и какая нахуй свобода мысли, там хуже чем в России. Раз там нельзя сказать что прививка от короныча не эффективна. И за то что ты не вакцинирован, вводят штрафы. После короношизы и санкций против России, из за того что она хочет и имеет право защищать своих граждан на Донбассе и признала два государства которые своей кровью отстояли свою не зависимость, во всей западной цивилизации разочаровался , реально долбаебы, надеюсь они когда нибудь сдохнут все.
Раз уж тут разговор о кнопочках - ведь ни одна ебаная скотина до сих пор не нарисовала нормальный gui под mpv
Такое чувство будто формошлепы и пердолики это два отрицательно заряженных молекулы зашквара которые вроде на вид сорта говна, но никогда не пересекутся друг с другом.
>>2381802 Это к чему то отсылка? Или это конкретный пример? Ну я бы сделал эту кнопочку такой как сделали наши банки, вводишь номер телефона клиента банка, или номер счета, или номер карты, вводишь сумму и нажимаешь отправить.
>>2381804 А вообще что такое формошлепы и пердолики? Форма, это типо вот как в Qt и Visual Studio размещаешь кнопочки на полотне? А что такое пердолик?
>>2381811 Пердолинг - это когда ты ебёшься с технологией, потому что она не хочет просто взять и заработать, и надо проводить массу телодвижений, гуглить, читать посты на форумах от 2008 года из-за того, что в документации что-то хуёво описано, перепробовать всё возможное и невозможное, покопать исходники технологии, пока, наконец, не заработает. Технология может быть любая, не обязательно связанная с разработкой (да и вообще с компьютерами). Пердолики - это те, кто занимается пердолингом. Так часто называют, например, линуксоидов, да и метонимически сам линукс.
А можно как то в одном потоке запустить boost io context и qt app.exec? Или это бред и лучше тред для каждого делать? Просто выглядит как то неаккуратно. Вот сейчас мне уже 2 треда надо. Потом будет какая нибудь третья либа со своим исполнителем и мне опять поток надо будет делать. Бред какой то
>>2381468 Вот как бы такой ситуации избежать, ведь болото утягивает пиздец. Хочется и рыбку и задачи нормальные, но пока вижу только выход как у тебя - работа одно, а нормальные проекты это в свободное время. студентобыдло защита 20 числа
Соряны за тупой вопрос: Equivalence Partitioning — EP, Boundary Value Analysis — BVA, Error Guessing — EG - это ведь все точно не входит в STL и нужно писать все это ручками? Даже не спрашивайте, почему я спрашиваю.
>>2382074 > цивилизованный мир Это тот, где перед сборкой небольшого опенсорс-проекта надо пердолиться со скриптом-портянкой из cmake-говнокода и где ещё надо руками все зависимости подключать?
>>2382184 А cmake - это система сборки уровня 80х годов. Ну серьезно. Ты видел как в жаве собираются проекты? Как в шарпе? Как в любой более-менее современной системе? build -o /bin Все, нахуй. Ты нихуя руками не лезишь, просто пользуешься инструментом как человек. Нееее. Зачем плюсовику вот так вот просто. Давайте скриптиков миллион, и потом чуть поменяем окружение - хуяк, блядь, все по пизде пошло - лезь правь.
>>2382194 > Ну серьезно. Ты видел как в жаве собираются проекты? Как в шарпе? Как в любой более-менее современной системе? Нет > build -o /bin А откуда оно знает где либы искать? > Все, нахуй. Ты нихуя руками не лезишь, просто пользуешься инструментом как человек. Нееее. Зачем плюсовику вот так вот просто. Давайте скриптиков миллион, и потом чуть поменяем окружение - хуяк, блядь, все по пизде пошло - лезь правь. Я не разбираюсь в системах сборки, но могу предположить, что твои языки более консистенты в этом плане. Скорее всего у них чуть ли не единственный пакетный менеджер. Я просто не понимаю как можно одной командной собрать прогу для линукса, где пакеты устанавливаются в одну директорию и для винды, где еще несколько пакетных менеджеров и все имеют свои особенности. И на сколько я понимаю окружение это не та вещь, которая меняется постоянно. Ее надо один раз настроить и не трогать.
>>2382197 Ну и + к этому там не просто директории разные, а сами либы отличаются для debug/release, 86/64, static/dll. Как это все должно одной командой собраться?
>>2382197 > Я просто не понимаю как можно одной командной собрать прогу для линукса, где пакеты устанавливаются в одну директорию и для винды, где еще несколько пакетных менеджеров и все имеют свои особенности. Так самый пиздец в том, что cmake хоть и заявляет от таком функционале, но по факту его не имеет. Чтоб собрать под виндой рандомную либу с гитхаба на cmake, надо буквально половину скрипта переписать под своё окружение. Хорошо если треть из "мультиплатформенных" либ можно собрать одной командой, но факт в том что я почти всегда был вынужден ебаться со сборкой на cmake под Виндой. find_library буквально никогда не работает нормально, надо всегда лезть в скрипт и править его, а когда надо ещё исправить зависимости у зависимостей - это вообще фееричный пиздец, уровня сборки через bat-файлы. Причём такое говно повсеместно у линуксоидов - автор оригинала нафантазировал чего-то, опенсорс-комьюнити не реализовало даже половину, а конечный пользователь ебётся в сраку потом с этим софтом. Зато ко-ко-ко-швабодка, "исправь сам, есть же исходники". У меня уже хуй знает сколько лет очко горит от "новой графической подсистемы, покрывающей все нужды современного десктопа", когда внезапно выяснилось что сама архитектура этого говна не позволяет работать одновременно с разными цветовыми форматами, что необходимо для нормальной работы смешанного режима HDR и SDR - в итоге нормальной поддержки HDR до сих пор нет, хотя в Винде он просто работает уже 5 лет. "Как узнать что кодер пиздит? Его проект в опенсорсе."
>>2382197 > для винды, где еще несколько пакетных менеджеров и все имеют свои особенности В Винде индусы уже давно придумали как с либами работать и не ебаться - dll можно регистрировать в системе через regsvr32, а в коде просто писать LoadLibrary("pizda.dll") и система сама найдёт где она лежит. А либы для статической линковки через nuget или vcpkg дёргаются.
>>2382235 > что ты предлагаешь? Использовать нативную систему сборки. Под Виндой это MSBuild, под линуксом пердолики сами виноваты что ничего кроме make-скриптов не придумали. > где таких проблем нет? Любой современный язык не имеет таких проблем. Посмотри хотя бы на раст или го. Джава и шарп тоже просто работают, мультиплатформенно одной командой собираются. А скриптопараша наоборот адовое говно, питон и жс - имеют буквально худшие системы организации зависимостей и файлов проекта.
>>2382246 > Использовать нативную систему сборки. И забыть о кроссплатформенности? Так то никто не запрещает так делать, но только зачем 10 раз все настраивать под каждую систему? cmake типо должен эту проблему решить > Любой современный язык не имеет таких проблем. Гляну. Но пока у меня некая предвзятость. Если они написали нормальную систему, но в плюсах ее нет, то значит, что го или раст что то упростили и не имеют каких то плюсовых проблем, не позволяющих написать такую же
>>2382250 > cmake типо должен эту проблему решить Но не решает. Эту проблему всё так же должен решать тот кто пишет скрипт сборки. В большинстве случаев на это кладётся хуй, а когда не кладётся - там скрипт на 500+ строк нечитабельного говнокода и ещё столько же в каждой зависимости.
Направьте плз в какую сторону погуглить или че почитать. Кароче нужно работать с названиями файлов в текстовом виде, получения списка файлов конкретной директории, их удаление, вставка новых. Посмотрел qt, там довольно все обрезано, есть метод получения листа, мб норм, но он медленно работать будет для большого количества файлов в папке (ну от 2-3к скажем), да и место в программе занимает куча текста с именам я так понимаю, а в stl даже такой функции нет. Что там в бусте, не ковырял эти либы никогда. Мб какие другие фреймы есть? Или придумывать свою какую то хитрую реализацию с векторами итераторов на нные файлы директории?
>>2382250 > кроссплатформенности Вот ты мне, няша, объясни, почему на жаве я просто собрал jar, либо сделал билд на системе - и я вообще не думаю что там - OSX, линукс, чи винда, в каждый раз когда на плюсах я хочу просто скачать что-то с гитхаба и собрать это вот пускай на той же винде - у меня целый квест? Где, мать его эта кроссплатформенность? Или более близкий плсюовикам кейс не про систему сборок, а про банальную работу с сетью. Я в жаве - беру Socket и мне похуй, как оно там в системе реализовано, да, я знаю что у линукса дергается UnixSocket, у винды - WinSocket, но мне до пизды на джаве, я просто использую Sokcet и не хуячю #ifdef _LINUX_ #ifdef _ANDROID_ #ifdef _WIN32_ нет, я просто, мать его, беру какой-то сокет, и делаю как человек и это как раз КРОССПЛАТФОРМЕННО, потому что мой код вообще ничего не знает о том на какой системе он крутится - ему похуй, он от этой хуйни абстрагирован. Но не. В мире плюсов - я должен еще сверху макросами обложиться, как ебанат, чтобы эту вот кроссплатформенность получить, ведь по факту - кроссплатформенность - на словах, а на деле - хуй там.
Ладно. Я просто горю немного. Я люблю плюсы. Просто пиздец. Вот это вот что с ним делают постоянно - пиздец бесит. Язык просто постепенно тонет и нахуй он никому через лет 10 не станет. Даже у нас на заводе - переводят, мать его, ВПО и прошивки на джаву, потому что заебло уже всех это вот все, если бы не вот это вот что Пу устроил - был бы жирный процессорный модуль, и волевым решением - нахуй бы закопали плюсы, на железках бы крутилась JVM. А мне - обидно. И обидно в том числе из-за того что у плюсов - просто дохуища крутых концепций, охуеннейшая производительность, охуеннейшие компиляторы, но пиздец, 2022 год, чтобы джун просто понял как cmake проекта которому 20 лет работает - ему нужно полгода, чтобы он отлаживал ВПО - он должен знать дохуища всего, при этом ЗАВОД - алло, ему никто не предложит 100к со старта, 25к и разбирайся. Через 5 лет дадим тебе вторую категорию - будешь 50к получать. Когда питоноблядь зная как pip install сделать - залетает на 100к. Ска. Обидно.
>>2382295 > Вот ты мне, няша, объясни, почему на жаве я просто собрал jar, либо сделал билд на системе - и я вообще не думаю что там - OSX, линукс, чи винда, в каждый раз когда на плюсах я хочу просто скачать что-то с гитхаба и собрать это вот пускай на той же винде - у меня целый квест? Наверное потому что у джавы есть JVM? Дальше можно не читать после такой претензии. > потому что мой код вообще ничего не знает о том на какой системе он крутится - ему похуй, он от этой хуйни абстрагирован Какой ценой? > В мире плюсов - я должен еще сверху макросами обложиться, как ебанат, чтобы эту вот кроссплатформенность получить, ведь по факту - кроссплатформенность - на словах, а на деле - хуй там. На разных ОС В ПРИНЦИПЕ может не быть аналогичных функций и хуй ты с этим че то сделаешь. Там даже модель может быть другой. И да, никто такой хуйней не занимается, а берут готовые либы >Язык просто постепенно тонет и нахуй он никому через лет 10 не станет Ну раз ты сказал... дальше вообще лень отвечать. Ты залетный какой то. Сиди дрочи свои железки на джаве.
>>2382297 > JVM У раста, наверное тоже JVM есть. И у го. И у пистона. И у шарпов. У всех что-то есть. Одни плюсы - обиженные. > Какой ценой? Ценой более долгого старта и потребления памяти. Дальше в этом плане - разницы нет. Проблемы производительности той же джавы не в этих вот абстракциях. > На разных ОС В ПРИНЦИПЕ может не быть аналогичных функций А стандартный вывод, работа с файлами, работа с потоками - во всех ОС и вообще везде будет, я так понимаю? Хуй знает что ты там сказать хочешь, я писал под микроконтроллеры на плюсах. Нихуя там файлов не было. Однако ж это как-то никому не мешало запихнуть в стандарт работу с файлами, и пусть там где с ними работать можно - реализуют. Но не, чет как про реально то что используется везде - КО-КО-КО, у нас кроссплатформенность. А когда тот же Си пилили, чет подумали: бля, нам нужно что-то чтоб с файлами работать, и придумали то что на тот момент было удобно- И это в плюсы перекочевало. Но не, мы же любое отсутствие того что нужно в ежедневной работе - будем оправдывать либо Ко-Ко-Ко есть системы которые это не умеют, либо Ко-ко-ко есть Boost/напиши свой враппер и дергай нативное/не нужно.
>>2382307 > У раста, наверное тоже JVM есть. И у го. И у пистона. И у шарпов. У всех что-то есть. Одни плюсы - обиженные. Ты написал про джаву, я тебе про джаву и ответил. Питон вообще блядь интерпретируемый. Тебе норм? Как там в го и расте я не знаю. Пусть знающие поправят. И на это я уже отвечал, что скорее всего там свои нюансы, поэтому они могут забить на проблемы, которые есть в плюсах, но не бесплатно. > Ценой более долгого старта и потребления памяти. Дальше в этом плане - разницы нет. Проблемы производительности той же джавы не в этих вот абстракциях. Сравни роутер i2p на плюсах и java. Первый готов к работе через 20 секунд, а второй через несколько минут. Это пиздец. Это огромная разница. Память я лично не замерял. И вообще на сколько я знаю, плюсовой роутер значительно быстрее. Даже часть проблем с скоростью сети валят на наличие джава роутеров. Типо если бы все на плюсовом сидели, то все был бы ЗНАЧИТЕЛЬНО лучше. Лично я не проверял это (кроме запуска, скорость мне лень было тестить), но вполне могу поверить в это. > А стандартный вывод, работа с файлами, работа с потоками - во всех ОС и вообще везде будет, я так понимаю? Не траль. Я же сказал, что так никто не пишет, а юзают либы в которых все эти ифдефы обернуты во что то удобное. > Но не, мы же любое отсутствие того что нужно в ежедневной работе Нести в стандарт языка работу с сетью и миллион сиюминутных хотелок идиотизм. Я очень рад, что так не делают. Может такие как ты порадуются, что за 5 минут собрали примерчик который реализует эхо сервер, но все остальные наплюют на это и будут писать все ручками просто потому что это слишком специфичная вещь и каждый проект будет требовать своей реализации со своими нюансами. Я имел опыт использования питона. Да, местами прикольно, круто, модно, молодежно, но шаг в сторону и ты пишешь с болью ебучие костыли, которые работают хуй пойми как. А в плюсах ты пишешь ровно то, что задумывал и оно работает ровно так, как ты спроектировал. Если тебе надо быстро че то написать и протестить, то плюсы это не твой выбор.
>>2382321 Я не хочу переходить на личности, но сдается мне, что ты не пилил сам никаких проектов на плюсах, с долгим циклом поддержки и развития. Я - пилил. С микроконтроллера за 1 бакс до нормального процессорного модуля с хоть и порезанным, но линуксом, и последующем переходом на alpine. Так вот - нихуя в работе с сетью и прочим - специфики особой не было. Вот нихуяшчки, разница только в том, что мы потратили на все это дело в общей сумме 10+ лет разработки, пиля руками работу с PLC, c UART с GPIO, с Ethernet'ом, GSM, радиомодулем и прочей хуйней, а потом нам дали более-менее нормальный процессорный модуль, гиг оперативки, 4 гига памяти с возможностью расширения, alpain и возможность пилить на джаве. И это было как небо и земля. Можно нормально это тестировать, можно нормально дебажить, можно нормально пользоваться интерфейсамим, а не пилить миллион миллион строк говнокода чтобы под разные девайсы и конфигурации железа, и при этом МОЖНО, БЛЯДЬ, ДЖУНА ПОСАДИТЬ И ЧТОБЫ ОН ЧТО-ТО ПОЛЕЗНОЕ ДЕЛАЛ. Но да - это же не аргументы, чел с двача, который ни в одном долгоживущем проекте не участвовал, который не переписывал часть стандартной библиотеки, потому что хуево таки работа с файлами реализована и можно быстрее, который даже лампочкой на Arduino не моргал - знает лучше, как там охуенно на плюсах и вообще - все верно делают товарищи, я вот читал мнение в интернете от анонимов, которые сто пудов не теоретик-индус. Охуенный ты чел, надо сказать. Посмотрю как ты будешь хвалить плюсы, когда у тебя будет 100500 устройств с зоопарком микроконтроллеров, а тебя попросят 100501 ноддержать и чтобы весь бизнес-уровень - работал без изменений и все это было совместимо с перекладным ПО. И насчет производительности - еще раз, для закрепления. Проблемы производительности джавы не связаны с абстракциями и хуйней что запихнули в стандатрные библиотеки. Дело в костылях, которые обеспечивают полиморфизм, ковариантность и контравариантность, в работе GC, в построении графа объектов для автоматизации управления памятью, и прочей лабудой которая призвана ООП-хуйню реализовывать и при этом чтоб это было именно ООП-хуйня, а не как в плюсах - решалось на этапе компиляции, а в чуть что выпендришься - SegFault Так вот, если ты всю эту лабуду перенесешь в свой проект - у тебя будут ровно те же самые проблемы и без JVM. Но это не относится к тому, чтобы я Socket - мог вызывать на любой системе где есть JVM, чтобы я мог как человек использовать UTF, чтобы поддержка разных языков - не превращалась в боль, ведь, о ужас, продаваны решили что надо продавать железки арабам, теперь нужно на дисплее вывести на арабском что-то - ну, ебись как хочешь))).
>>2382342 > ты не пилил сам никаких проектов на плюсах, с долгим циклом поддержки и развития Все так. > PLC, c UART с GPIO, с Ethernet'ом, GSM, радиомодулем Че, реально не было сишной либо под это? Да не может быть. По поводу дальнейшего: не понятно к чему ты это написал. Я же не говорил, что плюсы надо везде пихать. Ты сам подтвердил, что ради переезда с плюсов вам потребовалось устройство помощнее. Надо смотреть на ваш случай и решать какой язык вам нужнее. Ну и 10+ лет я тоже не знаю как прокомментировать. Не знаком с тем, что ты написал и не могу понять сложная это задача или же у вас работа не так как надо пошла. > не пилить миллион миллион строк говнокода чтобы под разные девайсы и конфигурации железа Опять же, я не разбираюсь в твоей области, но вообще обычно стараются писать как раз обертки, чтобы внутри какие то отдельные вызовы системных функций задефайнить, а дальше везде писать как человек. Было бы прикольно кстати, если бы ты скинул ссылку на код (хотя бы кусочки), но понимаю, что скорее всего это невозможно. Сложно что то еще по твоей теме сказать. Я же не знаю че вы там написали. Может вы вместо аккуратной функции write, которая в ваш радиомодуль че то посылает, а внутри себя уже имеет дефайны под каждую платформу, писали в каждой строчке, где надо было что то записать простыню из дефанов.
> который не переписывал часть стандартной библиотеки, потому что хуево таки работа с файлами реализована и можно быстрее Ну вот скажи, как это согласуется с твоим аргументом о пихании все в std. Я буквально сказал, что такие вещи будут часто переписываться, поэтому пихать их в std бессмысленно. У вас так и произошло. В чем я не прав? Это вдвойне странно звучит, учитывая, что вы потом на джаву пересели, лол. Но если это не относится к тому 10 летнему проекту, то прошу прощения. Но вообще уже тут нарушилась нить повествования. По твоей логике в std должны завести все все все, и причем под каждую платформу отдельную либу, чтобы это было максимально оптимизированно? Бред же.
> Проблемы производительности джавы не связаны с абстракциями > Дело в костылях, которые обеспечивают полиморфизм, ковариантность ... и прочей лабудой которая призвана ООП-хуйню реализовывать и при этом чтоб это было именно ООП-хуйня, ЧИВО? Это и есть абстракции. Но ок, тут ты скорее всего имел ввиду кроссплатформенность. > а не как в плюсах - решалось на этапе компиляции, а в чуть что выпендришься - SegFault от того на каком этапе код из человекочитабельного переводится в машиночитабельный сам код не меняет ООПшность. > Так вот, если ты всю эту лабуду перенесешь в свой проект - у тебя будут ровно те же самые проблемы и без JVM Нихуя не понял. В плюсах у меняя ООП со всеми его плюшками. Проблемы с производительностью не появились.
> Но это не относится к тому, чтобы я Socket - мог вызывать на любой системе где есть JVM На это я уже ответил выше и пояснил, что тащить такое в std не надо. Более того, я уверен, что я подберу пример на котором твой Socket просто не сработает как надо и мне придется выкидывать его нахуй и писать все самому и самому пытаться на джаве написать кроссплатформенность с сисколами (звучит как пиздец, я даже не представляю как там это писать))). А на плюсах я бы просто взял подходящую либу под это дело, либо модифицировал имеющуюся.
>>2382360 Ну с примером про сокет я переборщил. Все таки прям конкретно с сокетом я такой пример вряд ли поберу, но где то около (в каком нибудь хитром сервер вполне возможно) и кстати, ардуинкой я моргал
>>2382250 >> Использовать нативную систему сборки. >И забыть о кроссплатформенности? Так то никто не запрещает так делать, но только зачем 10 раз все настраивать под каждую систему? Расшифровываю лицемерного пердолика. Кросплатфоррменость = нечто одно, чтобы "10 раз все не настраивать под каждую систему" Но систем ведь несколько, а нужно одно? Как это? Получается, "кросплатформенность" не может существовать, это абсурд, деление на ноль! Внимание, элегантное пердо-решение: Ну раз нужно одно, так берем обно, а остальное нахуй, вот и всё. У нас же свободка посылать нахуй. Такс, что берем? Конечно - пердолинукс, а остальное нахуй. Итого: Кросплатформенность = пердолинукс, а остальные системы нахуй! ВАУ! ВОТ ЭТО УНИВЕРСАЛЬНОСТЬ! ВОТ ЭТО ДЕМОКРАТИЯ! ВСЕМ СИСТЕМАМ УГОДИЛИ! ВОТ ЭТО ШВАБОДКА! РАВЕНСТВО! Благо макос тоже линукс, так что из систем остается только винда, а уж её нахуй послать это святое дело. Отлично! Идеальное решение. Кросплатформенность! - Один пердилукс и ничего кроме пердинукса. Примерно как эти сжв: "Равенство начинается с уничтожения белых"
>>2382431 cmake это пердозалупа, на винде может только обсираться по причине отсутствия на винде линукса. Поэтому пердоляторы и предлагают ставить на винду эмуляторы линукса (cygwin, mingw), называя это "мультиплатформенность". Лицемерный скам, у которого мультиплатформенность = поставить везде линукс. Не говоря о том, что эмуляторы это не линукс, а кривое его подобие, вот и ебитесь с ним, а нам похуй, ололо. Пердоли как всегда, лицемерный скам. Дошло до того, что даже майкрософт этот блядский цирк заебал и запихнули настоящую виртуалку пердикс а в винду из коробки. Вот она, мультиплатформенность от пердоскота. Итоги.
>>2382321 >Сравни роутер i2p на плюсах и java. Первый готов к работе через 20 секунд, а второй через несколько минут. Это пиздец. Пиздец в том, что ты ошибаешься. и2п роутер на джаве не готов к работе через 20 секунд, он никогда не готов. Сначала тупит несколько минут, потом кое-как сайт один открывается, потом снова отваливается, и так до бесконечности. Я дико охуел когда запустил сишный и2пд и просто заработало сразу, причем без диких тормозов и отвалов.
>>2382436 кроссплатформенность в крестах это просто возможность (теоретическая) сконпелировать говнецо под другую систему не переписывая его полностью. все. то что у тебя кишка выпадет пердолить скрипты и окружение в расчет не берется. скажи спасибо что в исходники (почти) не надо лезть. ну потому что туда уже залез автор и насрал #ifdef ШИНДОВС сосать хуй #elseif ГЕЙОС дать в жепу. как правило нихуя не протестировав кроме как на своем компудахтьере. причем эта колбаска ифдефов иногда достигает такой толщины и плотности, что сам автор уже через неделю не расскажет смысл этих конструкций даже под дулом топора
>>2382446 >кроссплатформенность в крестах это просто возможность (теоретическая) сконпелировать говнецо под другую систему не переписывая его полностью. все. Нет такой возможности. Линуксный gcc несовместим ни с майкрософтовским компилятором, ни с виндой. Получается, ты можешь компилить gcc, но тогда придется ебаться с эмулятором линукса. Либо переписывать код под майкрософтовский компилятор, но это уже не компиляция, а портирование, переписавание кода блять. Итого, никакой мультиплатформенности не существует, это миф, лицемерная ложь пердоликов. Самый простой детект, видишь кто-то пукнул словом "мультиплатформенность", значит перед тобой скотоблядский уебан.
Чал ща ваш срач, стало даже интересно: на плюсах всегда кросплатформенность решается #ifdef-ом на уровне кода или библиотек, или есть что-то еще? Я нуб, так что сорь, если что-то не то спросил. Пока постигаю уловно-азы всей этой херни.
>>2382461 >Линуксный gcc несовместим ни с майкрософтовским компилятором, ни с виндой. Зачем быть совместимым с другими компиляторами? >Получается, ты можешь компилить gcc, но тогда придется ебаться с эмулятором линукса. Зачем ебаться с эмулятором? >Либо переписывать код под майкрософтовский компилятор, но это уже не компиляция, а портирование, переписавание кода блять. Стандарт переносится полностью, если его поддерживают оба компилятора, в чем проблема? >Итого, никакой мультиплатформенности не существует, это миф, лицемерная ложь пердоликов. Почему ты так решил?
>>2382478 Зависит от того, что тебе нужно, можешь генерировать код скриптами во время сборки, можешь препроцессором, можешь с помощью расширений компиляторов.
>>2382480 >расширения компиляторов В смысле ты просто пишешь им, что ты хочешь, а они сами, на свое усмотрение, напихают тебе в код много всего очень полезного и нужного?
>>2382486 Ладно, конкретизирую вопрос: какой из способов (>>2382480) изучить ньюфагу, чтобы максимально безболезненно покрыть весь потенциальный спектр задач?
>>2382479 >Зачем быть совместимым с другими компиляторами? Для мультиплатформенности, раз уж вы о ней кукарекаете. Но только на пиздливых словах, а не на деле. >Зачем ебаться с эмулятором? Затем, что без эмулятора линукса gcc не работает, и виндовый компилятор тоже не работает с этим кодом. >Стандарт переносится полностью, если его поддерживают оба компилятора, в чем проблема? Проблема в "если" которого в реальности нет. Пиздливое враньё. Нихуя не компилируется код под виндой на виндовом компиляторе, а других компиляторов под виндой нет, только под эмуляторами пердикка. Эмуляторы это не мультиплатформа.
>>2382490 >мультиплатформенности Тогда причем тут компиляторы? >без эмулятора линукса gcc не работает Зачем тебе гсс под окнами? >Проблема в "если" которого в реальности нет. Пиздливое враньё. Нихуя не компилируется код под виндой на виндовом компиляторе, а других компиляторов под виндой нет, только под эмуляторами пердикка. Эмуляторы это не мультиплатформа. Набор бессмысленных слов.
>>2382246 >питон и жс - имеют буквально худшие системы организации зависимостей и файлов проекта. Да ладно. Сильные платформы, в возможностью создания вирутуальных окружений под проект, с простой схемой описания зависимостей, очень надёжно работающей, с возможностью создания собственных репозиториев для пакетов.
Но сравнивать сложно, потому что в одном случае компилируемые платформы, где каждый модуль нужно компилировать своим набором опций, и при этом всё вместе заработает в итоге спустя неделю секса, а на ноде-питоне ничего компилировать не надо, опций не надо, но зато если модули принципиально не совместимы по версиям, то труба.
>>2382461 >Линуксный gcc несовместим ни с майкрософтовским компилятором, ни с виндой. Я давно не писал на C/C++, но есть же всякие mingw, вот как раз компиляторы c++ под винду.
>>2382446 >кроссплатформенность в крестах это просто возможность (теоретическая) сконпелировать говнецо под другую систему не переписывая его полностью. все. >то что у тебя кишка выпадет пердолить скрипты и окружение в расчет не берется. скажи спасибо что в исходники (почти) не надо лезть. ну потому что туда уже залез автор и насрал #ifdef ШИНДОВС сосать хуй #elseif ГЕЙОС дать в жепу. В целом это общая проблема всех платформ, как только ты начинаешь использовать что-то особо системно зависимое.
То есть когда тебе нужны ГУИ заточенные, или IPC, или какие-то особые сетевые возможности, или системные вызовы и т.п. хранение конфигов и много, много чего ещё. Или же тебе надо минимальный набор использовать общий.
>>2382494 >Набор бессмысленных слов. Лживая свинина включила дурачка "нивижу нислышу нипанимаю неттакого". Всё что нужно знать о пердолях. Когда пердоля пиздит? - Когда открываает рот.
>Зачем тебе гсс под окнами? Затем что окна это винда. Зачем мне под виндой виндовый компилятор? Что за дебильные вопросы. Под виндой нужно всё виндовое, остальное - чужие платформы. Чужие платформы это не мультиплатформенность, нет её у пердоль, лживо пиздящих что есть.
>>2382518 >есть же всякие mingw, вот как раз компиляторы c++ под винду Это эмуляторы линукса, и очень хуевые к тому же. Если бы ты попользовался, знал бы что это всё кал собачий. Вот тебе пример из жизни. Была одна прога написаная под visual studio, потом автор дропнул и васяны стали дальше допиливать. Один яблопидар взял и переделал проект под линукс запускать под вайном (ебанашка что взять), добавил их зависимости и систему сборки meson ninja (такая срань на питоне). И этот кал тупо не работает под мумуляторами в винде, прямо так и высерает ошибку "вы видимо запустили под msys, а залупанейм не поддерживается, до свидания", что показывает разработчики в курсе и специально шлют винду нахуй. Работает только в полноценной виртуалке. Кто кукарекал про мультиплатформенность? Вот она какая в реальности. Виндовую блять программу под винду специально заточенную, после обляпывания пердосранью уже невозможно собрать под виндой, нужна виртуалка линукса.
>>2382515 > Сильные платформы На питоне если автор проекта не использует систему управления зависимостями и не указал конкретные версии зависимостей и самого питона, под которые он писал код, то ебля ожидает такая, что проще собрать крестовый код без системы сборки вручную. В питоне надо ебаться с виртуальными окружениями, потому что ничто не совместимо ни с чем. Есть десяток систем управления зависимостями и все они не совместимы друг с другом. Разные зависимости могут не работать с одной и той же версией питона. Поддержки актуальной версии питона нет в половине либ. У зависимостей могут быть платформозависимые зависимости, например CUDA, и тебе нужна определённая версия - другие не совместимы. В репозиториях может не оказаться нужной версии зависимости, если проект старше пары лет. И это я только назвал то что с ходу припомнил. На деле там можно в пять раз больше список ебли составить, которая ожидает при попытке запустить код питона с гитхаба. Не говоря уже про то что если pip или anaconda вдруг будут не доступны, то шансы запустить крупный проект буквально нулевые. Не зря многие питонисты приходят к тому что просто собирают интерпретатор питона и код в exe-файл, чтоб конечный пользователь никак не взаимодействовал с экосистемой самого питона, а использовал готовый бинарник.
>>2382547 >Лживая свинина включила дурачка "нивижу нислышу нипанимаю неттакого". Всё что нужно знать о пердолях. Когда пердоля пиздит? - Когда открываает рот. Зачем ты уходишь от сути вопросов? >Затем что окна это винда. Зачем мне под виндой виндовый компилятор? Когда гсс стал виндовым компилятором?
Зачем ты сам себе задаешь вопросы? Почему не можешь ответить на прямые вопросы? Зачем ты пытаешься в перефорсы? В ньюсаче/политаче ципсошников ебать начали, поэтому ты сбежал из них?
>>2381510 >той же области, что и кресты Какой области? На крестах написано много всякого старья, поэтому кресты до сих пор тянут во многие проекты, так как есть экспертиза и от легаси никуда не уйдешь. А так - Rust. Либо Go (только для бекенда).
>>2382461 Вот из-за таких ебанатов, как ты, и нет кроссплатформенности. Я свои проекты собираю на трёх ОС (шинда, пинукс, макос) четырьмя компиляторами (msvc, gcc, clang, apple-clang), вот тебе и кроссплатформа. А если какой-то еблан пердолится в VS и цепляет xvalue на неконстантную ссылку, а потом удивляется, какого хуя его говно не собирается под прыщи, то ему надо просто нахуй руки отрубать.
>>2382547 >mingw >Это эмуляторы линукса В принципе, всё, что нужно знать о твоей отсутствующей квалификации, можно подчерпнуть из этого писклявого пердежа в лужу.
>>2382686 > цепляет xvalue на неконстантную ссылку У тебя какой-то свой личный стандарт крестов? > четырьмя компиляторами Даже не могу представить какой там уровень говнокода.
>>2382730 Он может и долбаёб, но в целом прав. MinGW и прочие высеры уровня Cygwin - это попытки натянуть POSIX на Винду, в итоге получается как обычно у пердоликов - лютый кал. Это говно не может собрать валидный код под виндовую системщину, не может слинковаться с виндовыми бинарниками, медленное, работает через жопу без гарантий стабильности. Используется в основном криворукими пердоликами, неспособными в обучение и пытающимися писать на Винде как на своих прыщах. А по поводу кроссплатформенности и cmake - под виндой в большинстве случаев сначала гененрируют из cmake проект для VS, и только потом собирают его через MSBuild. Вот как раз всякое пердольное говно и собирается напрямую из cmake через MinGW, когда разработчики делают поддержку виды просто для галочки.
>>2382826 >У тебя какой-то свой личный стандарт крестов? это у М$ свой личный стандарт крестов с кучей мокрописечных расширений конпелятора. список из 50 (по умолчанию выключенных) флагов типа Enforce Standard C++ rules for ZALUPA как бы намекает что придется поебаться для полного соответствия стандарту. а кросплатформенность без стандарта хорошо описана в начале срача. вот так вот нах
>>2382826 > > цепляет xvalue на неконстантную ссылку > У тебя какой-то свой личный стандарт крестов? Нюфаня сложнее хэллоувордов ничего не писал и не знает, что нет двух одинаковых компиляторов. Все они в некоторых моментах расходятся.
>>2382848 >cmake - под виндой в большинстве случаев сначала гененрируют из cmake проект для VS, и только потом собирают его через MSBuild Бесполезная фича. Код написанный под gcc не будет работаь под msvs компилятором, придется переписывать. И это не считая зависимых библиотек, которых ты не найдешь под винду, только файлы для gcc. По факту ничего этой хуетой не соберешь.
>>2382887 чел..... комитет в своей бесконечной мудрости ниспослал тебе стандарт языка с++ код написанный по стандарту должен и будет сука компилироваться везде. но если ты пишешь на гцц с прыщеблядскими нестандартными расширениями то сам мудак и заслуживаешь всё то что получишь но так как стандарт ты не читал и не знаешь что из тобою высранного не будет работать в мсвц остается только ныть в треде
>>2382870 > это у М$ свой личный стандарт крестов Что ещё расскажешь, мань? > расширений конпелятора А в GCC их нет, да? Мокрописечность как оценил? Стандарт их разрешает, а использовать их тебя никто не заставляет. > придется поебаться для полного соответствия стандарту Так вот и пиши на своём вымышленном языке где хочешь, а на Винде соблюдай стандарт крестов. Если в GCC решили что какие-то новые изменения в стандарте мешают компиляции ядра, то это не значит что их можно игнорировать. GCC так-то ещё C++20 не полностью поддерживает, если ты не знал. > без стандарта Ты там не путай стандарты языка со стандартами ОС. У тебя так-то код из прыщей под BSD тоже не соберётся просто так.
>>2382899 >стандарты должен пук среньк Типичная пердоля с шизофантазиями в глилой черепушке, никак не соотносящимися с реальностью, где у каждого компилера свои фичи кода, библиотеки и т.д., ничто друг с другом не совместимо. Написанное под одно не будет работать под другим, никак.
Если конечно разработчик не учитывает эти обстоятельства и не поддерживает разные компиляторы своими руками. Но конечно от пердоскота такого ожидать не приходится, так что... опять реальность показывает своё мерзкое ебало.
>>2383008 >а если, а хуесли Зачем пиздеть когда етсь гитхаб полный кода. Берешь и проверяешь обсираешься. Но нет, дегенерат не может смолчать, надо пиздеть становясь всё тупее с каждой порцией пиздежа, ведь сам в эту чушь верит.
Я - ноль в программировании. Но хочу понять как устроена работа криптовалют, как к блокчейну прикрутить смартконтракты, ассеты (NFT и токены). Какие книги и курсы посмотреть, чтобы от человека который не шарит в C++ дойти до создателя криптовалюты с собственным блокчейном?
>>2383086 Ты специально ищешь такие проекты на гитхабе от васянов, чтобы подтверждать веру в свой манямирок. Популярные кроссплатформенные либы не юзают расширения компиляторов.
Товарищи, есть некая консольная программа для решения одной научной задачи. Хочу сделать для нее GUI, но сталкиваюсь с такой задачей впервые. Я так понимаю, самый здравый вариант это Qt?
>>2383121 Если тебе надо, чтобы программа работала и решала задачу, а не красивенько, правильно и с одобрением от говноедов-пердолей типа этого >>2383140 , то да, бери Qt.
>>2383121 Я бы взял кют, но просто потому, что хорошо его знаю. А так, если для внешней оболочки, тебе на самом деле вообще все равно на каком языке или библиотеке писать.
>>2383515 > И долго в этот вулкан вкатываться? Долго, и сначала все начинают с OpenGL > Что из матана нужно знать? Для самого вулкана ничего, но в целом в геймдеве нужен линал > Где юзается вообще? Самая большая сфера это геймдев, будешь в кишочках игрового движка ковыряться
>А что бывает? пилить десктоп на Qt, эмбеддед, в яндексе каком то на нём сервисы свои пишут, ну создание чего то низкоуровневого начиная от драйверов, заканчивая бд и тд и последняя геймдев - unreal engine
сам вакансии лучше глянь, и посмотри где плюсы используют
>>2383523 Да я смотрел вакухи, хз что выбрать. Не хочется быть бомжом по итогу и не хочется писать пресную однотипную хуйню. Гейдев - хз, мутная тема, особенно с последними веяниями повестки.
>>2383551 Да я отчасти и так вкатившийся, за стандарты шарю, стл. С бустом и кьютами копался. Но ничего серьёзного, хотя 3 опенсорса до более-менее человеческого вида довёл. Ща хочу из веба переехать, вот и думаю во что лучше.
>>2382903 >Если в GCC решили что какие-то новые изменения в стандарте мешают компиляции ядра Пиздец шиза. Вроде уже не весна, пошто у тебя обострение-то?
Есть файл foo.h, в нём определён класс Foo и объявлен объект этого класса foo1. Есть файл bar.h, в нём соответственно Bar и bar1. Теперь мне нужно обращаться к объектам foo1 и bar1 (и их функциям) из других файлов, но проблема в том, что при с каждым новым инклюдом создаётся новый объект. Если заголовочник подключен два раза, то два раза вызывается конструктор и соответственно создается два объекта. Как это исправить? Мне нужен ровно один экземпляр foo1 и один bar1. Что уже пробовал: защиту от множественных включений (и ifndef, и pragma once), делать объект статичным. Всё это происходит в qt 5, если это важно.
Не могу найти работу, пиздец. Уже месяц не могу найти работу после того как кикнули. На первые две работы попал с первого раза не смотря на другие вакансии, а щас откликнулся на 10000000 и нихуя, даже не приглашают. При этом есть опыт 3 года. Жопа горит блять.
>>2384015 Вечный срач про расширения компиляторов. Несколько тредов назад один шиз настаивал, что компилятор, поддерживающий стандарт, не должен поддерживать расширения, ведь они якобы противоречат стандарту.
>>2384107 Заставлять? Он вроде с 6й версии сам использует метал/вулкан/что есть прозрачно для программиста. Ну если явно не указывать что используется.
Подскажите как проверить без привязки к конкретному экземпляру std::map что итератор на после find ничего не нашёл? В примерах пишут надо брать от экземпляра end() и сравнивать, но у меня происходит инициализация из двух мэппингов через условный оператор так что не известно какой экземпляр отработал.
>>2384261 Ну сделай функцию обёртку возвращающую optional, чтобы при не найденном элементе выдался nullopt. Или она может возвращать нулевой объект типа, хранящегося в мапах.
Если я хочу присваивать значение в указатель, то что мне нужно будет передать при вызове функции? Просто раньше геттеры которые мне попадались, были без параметров. И теперь я в ступоре.
>>2384697 Возможны перегрузки с параметрами, при которых отсутствие копирования не кидает исключение. Например, ты запретил перезаписывать файлы и пытаешься скопировать на существующий файл: вернётся фолс, но это нормальная работа функции, а не сбой.
>>2384831 1 +- соглы. 2 - хуйня. Сишные массивы это не отдельный тип, а просто указатели. Убрать указатели что ли? Ну нахуй. Все равно все кому надо пишут вектор или array если действительно хотят массив. 3- не могу ничего сказать. Лень думать сейчас. 4 - не врубился в систему типов. Но просто int да, нахуй. Есть int32_t и соответсвующие. Про сишное приведение соглы (почти. не уверен, что reinterpret cast всегда скастит, а иногда очень хочется). Все равно это такая штука, которую никто не пишет (почти). Прям убирать не очень надо, имхо 5 - Согласен 6 - согласен 7 - согласен 8 - не согласен. new строго лучше malloc (как раз из за перегрузок, на которые он гонит). Лучше уж malloc выкинуть. 9 -уйня ебаная. Его даже попустили в коментах к посту про классы 10 - хуйня, хуйня, хуйня. Не согласен 11 - Хуйня.
>>2384882 >>2384882 Забавно. Интересно это действительно так? Я не знаток java, но что там такого необычного и почему мы уже все на жабе в таком случае? Конкретно у него JVM кэширует что то? Да и что он там непрерывно только матрицы считал что у него такой оптимайз случился? Больше на пиздеж похоже или ошибку в измерениях
>>2384884 да он долбач скорее всего. Там кста можно посмотреть в коментах обсуждение этого вопроса, но мне лень. Чел вообще шиз, там в коментах его по фактам раскидали
Зачем ломать ABI? Мне всегда казалось, что это норма, что разные компиляторы генерируют разные бинарники, не? И в чем проблема? Они собираются описать формат бинарников для всех ОС? Звучит смешно. Ну или я не разбираюсь с этом.
>>2384831 > 7 - функциональные макросы Шиза. Макросы должны использоваться для повышения читаемости кода, альтернатив им просто нет. Точнее есть, но с ними надо ублажать компилятор и ебаться с отладкой, если что-то пошло не так. > 9 - ключевое слово class Ух, блять. Похоже кто-то не знает чем отличается структура от класса... > 10 - ключевое слово final Тоже шиза. В любом нормальном коде нужно запрещать наследоваться от чего попало. > 11 - виртуальные методы Альтернатив этому просто нет. Есть масса задач, которые будут работать очень медленно без них. > 12 - методы Goвнарь что ли писал статью? >>2384884 > Интересно это действительно так? За того джавабомжа не скажу, но вообще - да, есть задачи, которые без ООП работают очень медленно - бинарные деревья и похожая работа с большим количеством вложенных объектов. Сюда же попадает шиза про виртуальные методы из статьи на хабре - без них будет очень пососно. На сишке для этого приходится изобретать ООП из говнокода, как в ядре пердоликса делали. Кресты, естественно, разъебут любой код на джаве, потому что кресты в таких задачах не на 15% быстрее сишки, а в разы.
>>2385094 > Точнее есть, но с ними надо ублажать компилятор и ебаться с отладкой, если что-то пошло не так Будто макросы не нужно дебажить. (Я даже пытаться не буду говорить, что из себя представляет дебаг макросов)
>>2385096 > Будто макросы не нужно дебажить. Макросы можно и нужно писать так чтоб не приходилось дебажить, в них не должно быть никакой сложной логики, он должен быть однострочным. Отличный пример грамотного использования макросов есть в UE4/5, там много чего сделано на них. Да и вообще это один из лучших примеров качественного крестового кода.
>>2384882 Пиздёшь. Долбоёб просто не разобрался, прога на си это считай ассемблерный мэппинг в команды проца один в один, аналогичный код на яве в принципе не может работать быстрее. Единственное что может ява ему там какую нибудь матричную инструкцию типа авх 512 запустила, но автор в любом случае долбоёб.
Дарова плюсовчаны. Сори что спамлю. Тред создавал, но там тишина. Вот сама история. Попробую по тредам с языками пройтись и так решить мб... Заранее благодарен! Закончил вузик в мск по ит специальности. И получилось так, что вроде и что-то делать пытался за время учёбы, а по итогу хуй в стакане. Сейчас дата сосист на питоне, но контора такая, что по факту я нихуя не знаю. Выиграл пару хакатонов даже пока учился. И вот теперь бесповортно пришло время выбирать как жить дальше. Как вообще найти стажировку себе или джуновину. Какой язык взять, чтобы точно начать карьеру можно было. Знаю все и по немного по факту, но на деле языка который я бы реально знал на достойном уровне нет. ООП понимаю вроде как. Я планирую выбирать из этого примерно: Java/C#/C++/(Мб питон, но не уверен насчёт него). Хотелось бы услышать совета от знающих людей... И что вообще сделать чтобы максимально эффективно и быстро найти полноценную норм работу себе(или стажировку)
>>2385459 Ладно, допустим, я её собрал. Как её прилинковать теперь? Я положил её и хедер в папку к проекту, но оно говорит про undefined reference на функцию из хедера. Я вроде как указал папку с проектом через -L и саму либу через -l, gcc это даже съел, но дальше хрен
>>2385583 Перекатывайся хоть на хуй. Нам поебать. Это тред крестов, а не поиска работы. Алсо, норм айти - это когда ты не пишешь код, а получаешь столько же.
>>2385564 Вряд ли тебе кто то тут че то подскажет. Здесь либо диды, которые уже давно вкатились и не знают че там по рынку июней либо такие же злые школьники >>2385578 без норм работы
Сап. Есть всратая wifi сеть где из-за конченной настройки DHCP время от времени отлетает доступ в интернет. Фиксится перезагрузкой роутера на другом конце, но каждый ебучий раз лезть в него через браузер и всё вводить уже заебало. Давным-давно кодил на питоне и плюсах, но по работе ушел в дизайн и не вернулся. Хочу ебнуть скрипт, который сам, за меня, при потере интернета мог бы подключится к нужному IP, через нужный порт, ввести логин/пароль и дождавшись ответа "прокликать" web-интерейс роутера до заветной кнопочки "перезагрузить".
Как это сделать? Есть Python 3 / C++ и навыки джуна в обоих. Пишу в IDE и запускаю всё на винде (ибо работаю с Adobe). Пока вот нашел, что нужно написать скрапер. Скорее всего, его будет проще сделать на Python, чем на плюсах. Но хуй знает, может в vstudio портировать библиотеки так же просто как пайчарме - анон подскажи, т.к. личные проекты у меня были лишь на питоне. Данные из скраппера нужно будет сопоставлять и в зависимости от них - запускать тот или иной сценарий действий (участок кода). Можно ли это ебануть на С++ для быстродействия? Не хотелось бы сливать 500мб ОЗУ просто на скриптик перезагрузочки роутерушки.
Алсо: можно ли без разборки прошивать роутеры и модемы? Интересует Tp Link WR-* и Eltex 1402G-W. Пока нашел только Openwrt, но мне не нужна целая ось на роутере. Просто пару скриптов дописать в прошивку, чтоб катки в рейтенге не сливать. Для этого надо открыть файлы прошивки, а вот это прям совсем новое для меня. Хз даже как гуглить. Ротацию сетей запилить, чтоб в случае проблем с одной - сразу подключался к другой и танк не слился, пока хил ебётся со своим конченным интернетом.
>>2385595 У роутера помимо веб-морды есть еще телнет. Простой вариант: У C++Builder есть готовый компонент телнета, тык-тык и готово. Коннектишься, смотришь какой текст выдает и отправляешь соответствующие команды. Быдлоидный макакин вариант: Есть приблуды для управления браузером типа Selenium, берешь и управляешь тыкая куда надо.
>>2384884 JVM с определенным тюнингом в некоторых случаях будет производительнее аналогичного кода на С++, но обычно это никому не интересно. На джаве никто цифры не считает.
>>2383364 Да всякого полно, начиная от формочек на кьюти где-нибудь в обоссаном нии, заканчивая HFT алготрейдинговыми конторами Лондона, где стандартная зп - 300к фунтов в год, а премия иногда до ляма доходит... Тут уж по всякому бывает. Конечно шансов больше в формочках навсегда увязнуть. А так еще эмбеддед есть, может быть роботикс когда-нибудь выстрелит, как уже сказали всякая графика с треугольниками на 1000 строк, ковыряние в околосистемных вещах, видеонаблюдение, бекенд хайлоад в яндехе, движки субд, компиляторы, итд
К слову, звучит оно сперва охуеть как интересно, мол, буду не просто какой-то макакой на пхп обоссаной, а целым разработчиком движка базы данных, как те топовые челы из кликхауса, а также джеф дин и прочие гении 21 века. В реальности там полно очень унылого дрочева, которым и занимаются 90% инженеров.
>>2384882 Комменты: >Жава быстрее С++ >Разработчики JVM соптимизируют лучше тебя >Если сильно поебаться с мокрописькой нативных образов но там куча подводных >Только в отдельных примерах кода высосанных из пальца >Да нахуй ваш си нужен, главное это скорость разработки и дешевизна, и вообще железо нынче дешевеет на глазах >Попробуйте выиграть тендер со своим си >Подумайте что важнее заказчику
>>2384882 Может там алгоритмическая разница? На си наивные действия с матрицами на каждый чих, на джаве прокси классы с вычислением результата со всеми действиями в последний момент (во всяком случае так на крестах пишут).
>>2385887 >оправдано ли в 2422 году использование виджетов когда есть QML? Есть вещи, которые на кюмл делаются довольно костыльно по сравнению с виждетами, но в основном в плане верстки он гораздо удобнее.
>>2385822 Маркетинговый пиздёж, всякий кто имеет хоть малейшее представление что такое веритуальная машина должен это понимать. Там обычно идет имплайинг что на сях специально написано через жопу и суппозинг что на яве правильно.
>>2386073 Но если ты не шиз, то обрабатывай через throw-catch. Я чёт слегка запутался между этим тредом и закрепом. То, что я написал - это обработка ошибок в стиле Си, которая в данный момент считается устаревшей и только усложняет код.
>>2386083 Раз он спрашивает такое, то ему далеко еще до этого. Он не сможет понять до конца некоторые части исключений без знания других областей языка
>>2386088 Ну блин, обработка ошибок это не просто да. Он может, конечно, выучить че то с исключениями, но ему потом придется переучиваться. Имеет ли это смысл?
>>2386106 Получить хелло ворлд или коробочки с кнопочками я могу и не открывая код. Прежде чем что-нибудь исполнять нужно хоть какую-нибудь базу заиметь. Это же тупо - на каждый базовый чих в гугл лезть.
>>2386107 > Получить хелло ворлд или коробочки с кнопочками я могу и не открывая код Напиши что-нибудь более сложное, чем хелло ворлд или коробочка с кнопочками. > Это же тупо - на каждый базовый чих в гугл лезть Нет.
>>2386126 >Qt C++ how to draw window >Qt C++ how to inherit QObject the right way >Qt C++ what is signal >Qt C++ implement signal the right way >Qt C++ what is slot >Qt C++ implement slot the right way Может тут и есть такие медитативные аутисты, но мне проще 4-5 часов потратить на базу и уже после, благодаря охуительной памяти приступать к написанию более сложных вещей.
>>2386075 Придурочный максималист. Возврат ошибок и исключения это вообще разные вещи. Оборачивать каждый пук в try{}catch{} вот что усложняет код превращая его в помойку. Исключения это НАЕБНУЛОСЬ-КАРАУЛ, они используются в ИСКЛЮЧИТЕЛЬНЫХ случаях, а проверять коды возврата это рутина, там исключения нахуй не нужны, ибо проверки идут по цепочке, а исключения летают хуй пойми где.
Ребят, нужен ваш совет. Меня взяли на стажировку, дали задание. А я понимаю, что нихуя не могу его сделать. И начинают появляться мысли, а нахуя я вообще пошёл в эту область. И вот вопрос: в начале действительно много непонимания и ошибок? Или другие приходят уже с какой то серьёзной базой, с которой они могут справиться с поставленной задачей. Заранее спасибо за ответы.
>>2386552 Нужно переписать динамическую библиотеку для подключения к модему. 22 года Закончил ВУЗ Информационные технологии, сейчас на магистратуре(там же)
Соряны за дурацкий вопрос Допустим есть код: SetCur(0, 0); SetCol(wht); cout << screen_wht;//Рисует в консоли белый текст SetCur(0, 0); SetCol(grn); cout << screen_grn;//Поверх рисует элементы зеленого текста
Как сделать так, чтобы зеленый текст не закрашивал символы белого текста? Мб можно как то вместо пробелов юзать какие-нибудь прозрачные символы? Такие вообще бывают? Если что, посимвольный вывод не канает, как и дробление второго текста на части, с промежуточными перемещениями курсора. Я знаю, что я маюсь фигней, но интересно же
>>2386565 >Если что, посимвольный вывод не канает Канает, канает. Печать текста это и есть посимвольный вывод. Если не хватает скорости стандартных говноункций (а они дико медленные по определению) пиши на ассемблере вывод непосредственно в видеопамять (твоей консоли разумеется). Отвечаю, будет летать, у меня летало даже на 386 компьютере. У каждого символа, кроме его собственного кода, есть еще цвет фона и его самого, а еще можно делать моргающим. Складываешь чиселки как надо, а потом - вууш! в память и готово.
>>2386576 >пиши на ассемблере вывод непосредственно в видеопамять Лучше б сразу на хуй послал. Я ж нюфаня, делаю прогу по приколу, а не чтобы заебаться в край на пустом месте. (Хотя вопрос тоже интересный, если там не особо сложно, то мб даже почитаю, только подскажи, плс, что конкретно гуглить? "Ассемблер вывод текста в видеопамять" - это оно? Мб сишные аналоги двойной буферизации имеются без ебли с регистрами?)
Но вопрос (>>2386565) про "прозрачные" символы вместо пробелов все еще в силе, если что, если решение без ебли, конечно, вообще существует
>>2386584 >Лучше б сразу на хуй послал. Чел, ты с С++ треде, но не знаешь как писать в память? Это не я, ты сам себя послал. И я немного проебался, ассемблер не нужен, ведь си и так в него неплохо транслируется. Просто делай на си как обычно формирование чисел, а потом пиши их по адресу буфера экрана. Координаты определяются элементарной арифметикой относительно начала буфера. Ты тупо в цикле заносишь в память байты со своим текстом. Хотя, ведь даже готовые функции есть вроде memcpy()
На каждое инстанцирование шаблона генерится полностью новая функция? Или компилятор может заметить похожие куски и вынести их или еще что то сделать? Я правильно же понимаю, что компилятор оптимизирует в пределах одной единцы трансляции?
>>2386604 > новая функция Функция не обязана в принципе существовать. > компилятор оптимизирует в пределах одной единцы трансляции Все современные компиляторы умеют оптимизировать весь код.
Получилось не так прямо, я не увидел как можно получить тупо указатель на память, но эти функции делают то же самое (но память сука скрывают под капотом) и даже есть удобная структура для описания всех атрибутов символа. Халява для тупых и ленивых.
>>2386621 Ого, спасиб, правда я сам уже кое-что нарыл по теме. Ща просто нет времени самому все гуглить подробно, так что спс, что сэкономил мне пару часов.
>>2386559 Спрашиваю, потому что не могу на свой ноут скачать vs. Непонятная ошибка, которую исправить невозможно. Стоит ли использовать clion в таком случае? Или он настолько плох, что лучше бросить это дело?
>>2386682 >Eclipse Один раз писал на джаве, сам язык конечно лютое говно, но Эклипс вполне понравился, и он даже не тормозил как обычно тормозят джавовские проги. Например среда от JetBrains люто бешено тормозит, а Эклипс летает, и всякие фичи типа интеллисенса крутые есть. Но насчет си не скажу.
>>2386558 неплохая задача, я бы ее сделал будучи в твоем возрасте без особых проблем, тоже отучился на программиста и какое то время работал после вузика мимо безработное говно
>>2386165 исключения были добавлены в язык по простой причине: конструкторы и перегруженные операторы ничего не возвращали, но как то сигнализировать о ошибке внутри их нужно было об этом сам страуструп подробно писал в "дизайне и эволюции с++", но книжки читают всякие лохи которые заканчивают жизнь обоссаными под забором, понимаю
>>2386621 Че то я хз, либо я что-то делаю не так, либо и вправду WriteConsoleOutput - не самая быстрая функция. Крч, я передаю ей массив CHAR_INFO в 200*140 символов и на это уходит 50-100мс. Мб есть способ ускорить передачу в буфер? Или это пердел?
1) вот я изменил char s1 на const char s1, чтобы не было ворнинга (iso c++ forbirds convert string to char), а затем делаю операцию s1++; это не считается изменением переменной, ведь она const? 2) как правильно скопировать строку символов в массив символов?
>>2386907 >это не считается изменением переменной Считается. >ведь она const? Константные данные, а не указатель. >как правильно скопировать строку символов в массив символов? Берешь и копируешь.
>>2386916 >Берешь и копируешь Я конечно мог бы просто присвоить если бы с обеих сторон были указатели на строки, но строки так нельзя копировать,новый указатель просто будет указывать на старый, надо каждый символ скопировать.
>>2386925 У тебя нет строк. Строки это std::string, CString, AnsiString и тому подобные объекты, а у тебя лишь массивы (чисел) и указатели (на память), вот и манипулируй ими как положено. Например для копирования генерик байтов памяти есть memcpy(), а для того же самого, но в виде литералов с нуль-терминатором есть strcpy(). Но это системно и конфигурационно зависимая байтоебля, совершенно ненужная для твоей задачи тупо юзать строки, вот и пользуйся строками - std::string например.
>>2386956 Потестил твое. В общем, как и ожидалось, пропорциональное изменение кол-ва символов в буффере приводит к пропорциональному росту производительности. У тебя 3451 символ, а у меня 28 000
>>2386966 Ну да, я тоже заметил что чем больше, тем медленнее. Но у тебя какой-то совсем большой экран? Попробуй Far Manager потестить в таком размере. Если что, его исходники на гитхабе.
>>2386969 Да не, ты правильно говоришь, нахуй не надо столько, сколько у меня. Но блин, всегда охота, чтобы подобные мелочи минимально влияли на производительноть. А что если я дерьмака3, например, захочу в консоли запустить? А? А? Ну вот... то то же...
>>2386971 По идее прямая запись в память не тормозит независимо от объемов, но как мне видится, дря получения прямого указателя на буфер надо реверсить винду продираясь через эти анальные ограничения майкрософта, а я не хакер. Налепили прослоек "ради безопасности/стабильности" всё попрятали, вот и сиди соси палец.
>>2386976 Да ладно, пох. Мне рили не больно то и хотелось. Есть куча способов сделать ту же херню и без консоли. А пока свою прогу лепил, я то тут то там натыкался на разные "положительные" отзывы о производительности мелкомягкой консоли, так что, видимо, есть таки пердел по быстродействию, который так просто не пересечь.
Я вообще заморочился этим тупо в целях самообразования. Но нет - так нет.
>>2387024 В принципе - нет. В современном си есть фичи, которые не поддерживают кресты, но они почти всегда нужны для обхождения ограничений си которые в крестах уже не валидны.
>>2387029 А основные направления оптимизации проги в плюсах какие? Понятное дело распараллелить, переписать что-нибудь тяжёлое на асм, О3 ебануть, что ещё?
>>2387023 Что ты сочиняешь? Си код транслируется в ассемблер. Если ты напишешь на си цикл копирующий блок памяти, то получится тот же цикл на ассамблере, или даже лучше, быстрее, так что писать на ассемблере нет смысла, ты ничего не выигрываешь.
>>2387034 >переписать что-нибудь тяжёлое на асм, А вот нихрена. На современных (ну как современных, с 90 х в массмаркете) процессорах параллелются вычисления на одном ядре, поэтому для лучшей производительности надо подбирать опкоды, которые равномерно грузят пайплайны процессора. Вручную это очень сложно, эффективнее предоставить все компилятору, их пишут те ещё гики.
>>2387056 > процессорах параллелются вычисления на одном ядре, поэтому для лучшей производительности надо подбирать опкоды, которые равномерно грузят пайплайны процессора Не неси хуйни. Макрокоманды дробятся на RISC-подобные самим процессором, а не компилятором, и параллелятся потом тоже им. На максимальном уровне оптимизации компилятор может разве что векторизовать вычисления. Но может и не векторизовать, поэтому лучше всё делать ручками, если есть возможность.
>>2387056 >>2387067 Не ссорьтесь, девочки, вы же в С++ треде. Нынче нативный код сам по себе уже такая оптимизация, что и космосу не снилась. Цените и восхваляйте, а сраться по мелочам толку нет, это не оптимизация, а пердолинг ради пустых споров и ничего больше.
>>2387222 F9 - поставить точку останова на нужную тебе строку F5 - запуск программы в режиме отладки Когда дойдет до точки останова, программа встанет на паузу и появится отладчик со стрелочкой на этой строке. Теперь можно смотреть все значения переменныз и т.д., дальше можно выполнять программу по шагам (F10 или F11) и смотреть как работает. Очень удобно.
>>2387234 Нет, серьезно. >>2387228 подобное скажет только беспомощный ламер. Обычно это такие тупые бабы, как раз уборщицы туалетов. Потому что даже в магазине продавщицы сами обслуживают например электронные весы с принтером чеков, а не пукают "Не работает..." разводя руки. Ниже продавщицы кто? Только уборщица которая сложнее тряпки и швабры осилить не может.
>>2387272 Если ты хочешь заниматься хуйней, а не писать код - то конечно, поебись с гдб, попиши в виме, не забудь руками писать мейкфайлы, ведь это так по хакерски.
Если ты хочешь писать код - ты пишешь код при помощи современных средств разработки.
>>2387262 >У меня прямо сейчас открыт гдб Значит ты уже пользуешься дебагером, а вопрос был от того кто не знает как пользоваться >>2387222 Ну и зачем ты влез со своим бложиком? Никому не интересны бессмысленные комментарии ни о чём. Это срань, гадишь в публичном месте. А срут в туалетах, вот снова и вернулись к туалетам, убирай за собой.
>>2387284 Я заебусь перечислять киллер фичи. От встроенного статического анализа и автоматического менеджмента билд системы до нормального дебаггинга с брейкпоинтами и умного рефакторинга
>>2387287 >Любая среда. >Я заебусь перечислять киллер фичи. От встроенного статического анализа и автоматического менеджмента билд системы до нормального дебаггинга с брейкпоинтами и умного рефакторинга >Любой редактор на электроне. >Я заебусь перечислять киллер фичи. От встроенного статического анализа и автоматического менеджмента билд системы до нормального дебаггинга с брейкпоинтами и умного рефакторинга >Любой популярный браузер. >Я заебусь перечислять киллер фичи. От встроенного статического анализа и автоматического менеджмента билд системы до нормального дебаггинга с брейкпоинтами и умного рефакторинга
>>2387312 Мне платят за то, что я дизайню и делаю фичи в продукте, а не за то, что я трачу время на хуйню, на которую время тратить не надо, при использовании нормальных средств разработки.
>>2387333 Например что такое писать в прод и чем это отличается от твоей laba2.cpp, зачем нужны тесты, что такое CI\CD, почему люди используют нормальные тулсеты, почему ты вообще нихуя не знаешь и не умеешь, хотя думаешь по другому.
>>2387335 >такое писать в прод и чем это отличается от твоей laba2.cpp, зачем нужны тесты, что такое CI\CD Потому что барин приказал. Ты же не принимаешь эти решения, ты просто обычный раб, как и везде, делаешь что говорят, бездумная марионетка.
>>2387347 Что не так-то? Не ты решаешь пользовать тестами или нет, и всем остальным. Ты это всё делаешь потому что тупо подчиняешься чужой воле. И еще кого-то зовешь тупым. Ты же еще тупее.
Хвалиться что ты РАБ-откодрон... ну это за пределом разума и адекватности. Только раб гордится своими кандалами, в том числе и оковами разума, неспособностью жить и думать самостоятельно, а только повторяя что его другие надрессировали делать.
И это ничтожество еще надувается изображая превосходство перед другими. Тьфу, кринж.
Как сделать свое приложение под linux и запустить его на линуксе? Я линукс не разбираюсь, но могу сказать что скорей всего у меня нет графической среды, только консолька, если я скомпилирую под линукс исполняемый файл с графическим интерфейсом, он у меня в консольке не запуститься? Я чето читал, единственное попытался сделать это запустить startx, писал sudo startx и просто startx, пишет command not found. Может кто то знает как скачать фаилы из ftp сервера из браузера все разом, я не хочу скачивать по одному фаилу и патом создавать папки с такими же названиями и восстанавливать структуру каталога вручную. Это только с помощью filezilla можно сделать? Я просто хотел компилятор под линукс скачать, что бы скомпилировать программу, но gcc компилятор лежит на ftp сервере, и там нет кнопки скачать все разом
>>2387452 Если у тебя нет графической среды, то и приложения с графикой не заработают, при запуске в консоли тупо будет ошибка наподобие "x server not found".
Прочитал о протоколе HTTP и как я понял это всеобщее соглашение о том, как серверная программа или браузер будут парсить запрос. То есть в будущем с развитым ИИ интернет-протоколы будут нестрогими. Например можно будет послать HТTP-запрос "дай парнуху", а программа увидев набор символов, несоответствующих протоколу, спарсит их, проанализирует и примет решении, на основании истории запросов с этого айпишника выдать предпочитаемую пользователем порнуху.
>>2387452 помню когда то давно осваивал линукс таким способом: поставил netinstall debian, и далее в чистой консольке, почитывая при этом книжки, начал пытаться разбираться, делать какие-то простейшие вещи типа работы с файловой системой и прочее, потом vim освоил, потом уже накатил голые иксы, и прямо там разбирался с ними, играясь с иксовыми клиентами-серверами, а потом уже накатил тайловый менеджер и уже только тогда оказался в относительно привычной для среднего хомячка среде к чему я все это написал? а к тому что у меня все это заняло просто дохуищи времени, несколько месяцев так чтож наверное если ты не упоротый фрик, просто поставь себе какой-нибудь юзер-френдли дистрибутив линукса чтобы там сразу же было настроено окружение, в том числе и какая нибудь простая рабочая среда, похожая на окошки windows
Аноны, а возможно ли сделать неинициализированную структуру в другой структуре и потом инициализировать её в конструкторе? Если я удаляю дэфолтный конструктов из структуры, то потом при добавлении её в другую структуру код не собирается, даже если я её инициализирую переопредеоённым конструктором. Как вообще сделать так, что нельзя было инициализировать структуру конструктором без параметров, если =delete ломает код?
>>2389083 Сейчас я думаю в примитивных рамках - на стеке когда объектов мало/они сами по себе малые или когда просто похуй. Этого явно недостаточно, поэтому давайте подробности.
>>2389117 Почти всегда на стеке надо. Если объект ебать какой большой, то можно на куче. Ну еще там есть случаи, конечно, но они обычно сами в голову приходят.
Что, блять, плохого в использовании Hugnarian Notation? Я постоянно слышу нахрюки, в основном из гугла и стак овердроч что это ПЛОХАЯСКОЗАЛ!!!
Почему нельзя ставить "C" перед классом? Или "S" перед структурой. Если вы, блять, говорите, что и классы и функции имеют CamelCase, мне же нужно отличить тип от функции, ебаный врот!
Или, допустим, p перед указателем или k перед константой. Что в этом плохого, СУКА?
>>2389411 > в основном из гугла У гугла везде сишка с классами, хули ты слушаешь этих опущенцев, пишущих на C++03. > стак овердроч Что-то уровня МайлРу.Ответы. Уровень компетенции примерно такой же. Там в основном сидят студенты, бывает цитируют стандарт, бывает шизу пишут, но в целом по палате всё плохо.
>>2389430 >У гугла везде сишка с классами, хули ты слушаешь этих опущенцев, пишущих на C++03. Двощую. Им HungarianNotation НЕНУЖОН >Что-то уровня МайлРу.Ответы. Уровень компетенции примерно такой же. Там в основном сидят студенты, бывает цитируют стандарт, бывает шизу пишут, но в целом по палате всё плохо. Именно так. Да еще и визгливые какие.
>>2389445 Второе. Но не всегда. Заебешься измерять. А еще с битовыми полями по жизни заебешься.
>>2388992 Никак. Если у тебя =delete ломает код, то ты где-то инициализируешь конструктором без параметров, как бы не хотелось отрицать. Посмотри optional.
>>2388984 Всегда на стеке, когда можешь. Если никак не можешь на стеке, то только тогда хип. Если большой массив, то ты идешь нахуй и создаешь вектор на стеке, а он выделяет где захочет.
>>2387575 Нельзя, если кто-то уже за тебя не посчитал. Но ОС этим заниматься не будет.
>>2389473 > ты где-то инициализируешь конструктором без параметров Перед вызовом конструктора, в котором я их ещё раз инициализирую конструктором с параметрами. Нахуй тогда нужен конструктор, если до его вызова один хуй все члены класса должны инициализироваться дэфолтным конструктором? Нахуй два раза происходит инициализация?
Можно ли как то перенаправить интернет-поток данных от приложения на конкретный порт (usb, com и тд)? Хочу tcp вывести не через ethernet порт и дальше, а в usb/com порт как нибудь и уже дальше интересным способом отправить. Кто нибудь делал такое?
>>2389411 >Что, блять, плохого в использовании Hugnarian Notation? >cString - константа. >cString - класс. >cStrings - счетчик имен. >cString - сишная строка (без нотации). Обычная ситуация, когда какой-то проект использует несколько библиотек, в 3-ех из них венгерская нотация. В каждой библиотеке свои обозначения для нее. В чем преимущество?
>>2389411 венгерская нотация полезна была в языке си потому что в некоторых случаях по типу переменной ты не мог догадаться что на самом деле это за сущьность; самая главная проблема была в указателе на char, он мог означать множество вещей: единичный символ, строковый литерал, строковый литерал в read-only памяти, сишную строку с нулем на конце, байт, байтовый массив и прочее; особенно это было неудобно при отладке; поэтому приходилось добавлять аннотацию в название переменной в языке с++ же просто под каждую сущьность пишется класс и все в то же время mfc была гибридной крестовой библиотекой, построенной поверх сишного winapi ядра, и там согранили эту самую венгерскую нотацию, причем стали лепить ее уже там где не требовалось; и с этого уже и началась критика этого подхода
>>2389671 > и все А потом этот говнокод невозможно читать без IDE. Заходишь на гитхаб и невозможно понять что за поебота там написана, как дебил потом скролишь вверх-вниз чтоб посмотреть что же там такое было, или ещё хуже - надо с хедером постоянно сверяться. Вот хотя бы почитайте как код для людей пишут, даже объяснено зачем: https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DevelopmentSetup/CodingStandard/
Где про лямбды почитать? Я знаю как их испольовать, но вот что происходит при перемещении, что там с памятью происходит хз. Почти все понятно, но есть нюансы, так сказать.
>>2389757 Конечно зависит. Cmake используют только пердоли под линуксом, а там gcc со своими либами и прочим линуксовым мусором. Что толку что Cmake сгенерит тебе проект под msvs, если код нихуя не совместим и либ нет. Ты видел линуксовые деревья зависимостей пакетов? Удачи это руками портировать всё и воспроизвести на винде.
>>2389767 > Что толку что Cmake сгенерит тебе проект под msvs, если код нихуя не совместим и либ нет 1) Речь идет о коде у которого либы кроссплатформенные 2) Что значит код несовместим? Есть стандарт блин. Он должен быть совместим (Если конечно писать как надо) > Ты видел линуксовые деревья зависимостей пакетов? Удачи это руками портировать всё и воспроизвести на винде. Почему я не могу указать просто в cmake папку где искать зависимости, а зависимостями будет рулить vcpkg или conan?
>>2389769 >1) Речь идет о коде у которого либы кроссплатформенные >2) Что значит код несовместим? Есть стандарт блин. Ну, для хеллоуворлда хватит, действительно соберется, а что побольше, даже не пытайся, высрет миллион ошибок всех видов и цветов и ебись как хочешь.
>Почему я не могу указать просто... Жизнь такая - непростая. Если считаешь что можешь, вперед, никто же не держит. Только не забывай сюда писать свои похождения, я хоть поржу.
>>2389780 Я хотел покопаться в попенсурс проекте на винде в vs, а там почему то ебля с mingw. Я вот сейчас думаю что там такого. Вроде pthead юзают, но нахуя, если есть std thread. Скорее всего проект старый слишком и тогда еще этого не было, но я не уверен.
>>2389780 Чего там осиливать-то, фуфел пердольный? >>2389745 в сообщении даже написано что делать - ставить мумулятор пердикса и вперед, родной пердокод под почти родной средой даже наверное соберется без большой ебли. Написано правильно, MSYS2 действительно лучшее из недопердоподобий под виндой. Но таки еще рекомендую осилить WSL2, там линукс еще роднее, надежнее.
>>2389785 > в сообщении даже написано что делать Я вижу что делать. Оно собралось за 2 минуты, но меня интересует вопрос почему так. Почему для винды в cmake исключение стоит?
>>2389748 Ты можешь обозначать их, как хочешь, но венгерская нотация не имеет единого обозначения префиксов, поэтому для каждого проекта она может быть разная, в итоге будет то, что я написал.
>>2389790 Ты же пердоля, или кто? Лучше меня должен знать, что у пердолей - швабодка, слать нахуй все замечания: "код открыт, правь сам, а мы никому ничем не обязаны - за бесплатно пашем, ололо". А про любовь их к винде отдельная песня. от такого запроса они еще больеш косяков напихают, назло, чтобы в винде не собралось никак.
>>2389791 > Тут ты сначала вызвал конструктор без параметров, а потом переприсвоил. А надо так: А если я не могу константой инициализировать? Если мне надо некий код выполнить перед этим, который не имеет отношения к члену класса? Нахуй тогда конструктор, если всё равно надо пытаться наебать компилятор и каким-то способом инициализировать член класса до вызова конструктора? Звучит как полная хуйня. После вызова дэфолтного конструктора переменная не валидная, но меня заставляют всё равно делать это. Можно, конечно, этот некий код затолкать в конструктор той переменной, но нахуй нат тогда ООП, если в итоге я буду лапшу каких-то значений сверху вниз до самого нижнего уровня перенаправлять? С таким же успехом я мог написать процедуру из 1000 строк без абстракции и классов.
Так, ну я даже указал все зависимости (правда с предупреждениями вроде "новая версия может быть несовместима"), но пока хз что делать с pthread. Попробую сейчас в cmake все что касается pthread выпилить и глянуть че будет
>>2389810 Можешь, напиши константу при объявлении поля.
Но все члены класса должны быть проинициализированы до начала конструктора. Либо при объявлении поля, либо через вот это двоеточие явно говоришь, какой из ее конструкторов вызвать вместо дефолтного. Иначе либо требовать от тебя ручной вызов всех деструкторов (заебаться), либо компилятору запоминать, какие конструкторы ты успел вызвать, а какие нет (как в расте, тратить память).
Кто шарит чем ISO/IEC 14882:2020 (платный официальный стандарт с iso org) отличается от Working Draft N4868, который валяется в открытом доступе? Есть у кого файл стандарта не working draft, а то чет не нагуглил. Или не стоит заморачиваться?
Короче я понял. Надо будет попытаться эту хуйню переписать чтобы оно собралось нормально. Создам себе свой cmake проект на винде, начну потихоньку файлы добавлять и пытаться собрать на винде msvc, clang, gcc, на линуксе в gcc, clang.
>>2389836 > либо компилятору запоминать, какие конструкторы ты успел вызвать, а какие нет В чём, блять, проблема выдавать ошибку компиляции, если все члены класса не инициализировались в конструкторе? Компиляторы всякой JIT-параши умеют проверять такое, а нам не положено? А потом удивляются откуда баги, вот же буквально заставляют делать дырявый код - что-то инициализировано дэфолтным конструктором, который не инициализирует нихуя и только ублажает компилятор, а явно запретить делать такое не дают.
>>2389841 >Создам себе свой cmake проект на винде Зачем? CMake проект независим от платформ, зачем его делать когда есть готовый? Просто исправляй чтобы работало. И сразу советую касательно msvc, не пытайся сгенеренный проект открывать в IDE, там жопа, лучше в девеловерской студийной консоли юзать msbuild (или как там оно) в командной строке.
>>2389839 Тем что ISO/IEC официально заверен жидами, а Working Draft - нет. Как не сложно догадаться, жиды работать бесплатно не будут ни при каких обстоятельствах.
>>2389858 > Зачем? CMake проект независим от платформ, зачем его делать когда есть готовый? Просто исправляй чтобы работало. Большую часть я естественно оттуда возьму, а часть перепишу на свой лад. > И сразу советую касательно msvc, не пытайся сгенеренный проект открывать в IDE, там жопа, лучше в девеловерской студийной консоли юзать msbuild (или как там оно) в командной строке. Спасибо
Ох блядь, какой же симаке сблев сифилисной обезьяны. Перевели няшепроект с мсбилда (нужна кроссплатформа). Господи, смотрю на проект и рыдаю. Какой-то криптокусок криптоговна, еле работающий, требующий регенерацию на каждый чих, симейк файл редактировать руками только. Блябуду.
>>2389845 >>2389868 Сначала попробуй подебажить проект из двадцати потоков, а потом спрашивай. Удобно хотя бы воркеров от мониторинга отличать в стектрейсах и отладчики.
>>2389856 В плюсах не принято выдавать ошибки компиляции, в плюсах принято верить программисту.
> что-то инициализировано дэфолтным конструктором, который не инициализирует нихуя и только ублажает компилятор, а явно запретить делать такое не дают.
В смысле блять, я тебе выше написал, как инициализировать так чтобы запретить дефолтный. Хочешь запрети дефолтный - запрещай, но потом и не вызывай.
>>2389878 Для начала реши зачем. По приколу? Ввод-вывод тормозит? Интеграл медленно считается? Графику рисовать?
>>2389910 > но потом и не вызывай Так моя претензия в том что его без моего желания вызывают, я не писал кода вызова этого конструктора. Если я его удалю, то код не соберётся с ошибкой что я пытаюсь вызвать удалённый метод, хотя я просто объявляю переменную. Я не могу в конструкторе вызвать что-то другое кроме него, потому что он вызывается по умолчанию до этого кода. Варианты с in-place initialization или initializer list за пределами конструктора не всегда возможны без костылей. > в плюсах принято верить программисту Почему тогда в данном случае мне не верят что я сам инициализирую члены класса и делают это за меня?
>>2389972 И сейчас ты такой берёшь и говоришь, как это делается, а не трясёшься в припадке.
Или ты мне предлагаешь проебать пару дней своей жизни, дописывая в каждом хэдере из СДК к каждому методу копипасту с cppreference? Если да, то лучше промолчи, свинья.
>>2389975 Дегенеративное хуйло, ты как в этот тред попал, если не можешь написать скрипт из 50 строк за 30 минут? Нахуй ты тут целый день ждешь что за тебя это сделает кто-то? Хотя раз ты не можешь без справки по std, то наверняка ты ебучий даун. > копипасту с cppreference Мне может ещё ткнуть твоё ебало где взять документацию по std в нормальном виде, а не с cppreference?
Где и как хранить сообщения для эксепшенов? Сейчас у меня это отдельный хедер с неймспейсом и constexpr string_view в нём. Норм или не норм? Нужно ли инлайнить?
>>2389981 Ох как затрясло. Даже и не знаю, вроде простой вопрос задал, а реакция как будто тебе в прямом эфире говно в глотку пропихнули и заставили проглотить. Лечись.
>>2390042 сообщения хранить в файлах ресурсов или в табличках субд или еще какой подход доставать по айдишнику на айдишники можно повесить и читаемые дефайны, чтобы и в коде было видно так же при проектировании библиотеки если принимаеться решение использовать исключения, то проектируеться и иерархия исключений, и тогда уже по типу исключения можно определить к какой категории он относиться
>>2379873 (OP) >Я кста хз что это, но удалять не стал Лол, удали это говно. Пусть плюсодебилы хоть этим не позорятся. Подумал ковырнуть плюсы, сам петухон-боярин. Думаю, зайду в тред к мужикам, у них наверное гайд есть. И что я вижу? Ладно, с 2017 шапка не обновлялась. Но, блять.. Шапку писал буквально какой-то даун; начиная от стиля письма, заканчивая контентом. Какие-то реплики из нулевых, хуй знает к чему, "гыгы сосут хуй со своей мамашей", "гыгы кухня кудах кудах". Для "ньюфань" рекомендуется кирпич из 1200-х страниц. Ояебу. Это как советовать вкатываться в петухон с Лутца, шиза полнейшая. Этим обычно троллят, но скуфоплюсовики, видимо, это с серьезным еблом высрали. Ссылки на курсы - это ютуб-курс из 2013 года и просто ссылка на сайт с MOOC. Смысла от шапки - ноль, так что можешь со спокойной душой удалить.
>>2390859 >Создай файл ресурсов >Притащи/напиши стафф для их обработки ---- >Притащи/напиши стафф для работы с бд >Настругай миграций @ ЧТОБЫ СОХРАНИТЬ 20 БЛЯДСКИХ СООБЩЕНИЙ ОБ ОШИБКЕ
>>2390866 >>2390851 Да не бахайте, скуф-скуфичи. Я понимаю, у вас срака сразу разрывается, как только слышите "питон", "жс" и прочее. А уж когда критикуют вашу дегенератскую поделку - там совсем подрыв сильный. По факту в шапке ссылки на курсы почти десятилетней (!) давности, ноль полезной информации, рекомендация 1200-страничного кирпича Страуструпа для ньюфань (!!). Ну не позорьтесь с этой шапкой, камон, вы и так достаточно позорники.
>>2390872 Скуф, ты с боярышником переборщил? Это не мнение, это просто факты. Или у тебя в голове рекомендации курса десятилетней давности и 1200-страничного кирпича для абсолютных ньюфань - это нормально? Давай-ка, отвечай, мне даже интересно, какая там шиза в голове у плюсодебила.
>>2391279 1) Такое задание. Помню, что в линуксе есть ptrace, но без понятия что есть для шин10 2)Без разницы. Моя основная задача заключается в их логгирование.
>>2391283 >Моя основная задача заключается в их логгирование. Создай песочницу, загружай в него процесс, через хуки на функции, которые позволяют читать фс, и LoadLibraryA/W отслеживай загрузку библиотек, в зависимости от загруженных устанавливай логирующие хуки. Так сложно, потому что библиотеки, как и загружаемые функции могут загружаться динамически и в заголовках файла они могут не отображаться. Песочница нужна, чтобы у тебя были максимальные права над процессом и система их не могла ограничить.
>>2391345 От чего зависит? Все четыре условия - простенькие сравнения двух 16-чных чисел. Если хоть одно не совпало, то дальше уже сравнивать и не нужно. Вероятность выполнения/невыполнения каждого из условий одинаковая. Вообще ЕМНИП сравнение - недорогая операция, но всё равно надо, чтобы это работало как можно быстрее.
>>2391341 >что будет работать быстрее, четыре вложенных if или один if(a && b && c && d) Пиши без форматирования в одну строку код, так он тоже будет работать быстрее.
Дайте примерный список навыков которые должны быть чтобы претендовать на позицию джуна/мидла. Сейчас могу в потоки, шаблоны, qt, boost ну и всё что попроще. Это какой лвл? Что доучить чтобы хотя бы на 1.5 ерос можно было вкатиться?
>>2391426 Читал, только что толку от одного чтива? А так уже и опыт есть, да и петы я не просто по приколу писал. Дайте мне гугл и я с большой долей вероятности смогу самостоятельно нужную фичу написать. Ладно не мидл. Какой-нибудь sub/пре-мидл, но явно не джун которому нужно по строчкам за базу рассказывать.
Объясните std::size_t. Почему оно не доставляет проблем? Это же максимальный возможный тип, да? Как вообще его контролировать, если он на разных архитектурах разный?
>>2391542 Да, а еще старайся меньше комментариев писать, они программу замедляют. А еще меньше используй x=x+1, вместо этого лучше писать ++x, ведь второе на уровне асма по другому работает и быстрее.Иногда даже (для маленьких чисел) быстрее получается в цикле сделать несколько ++x, чем x=x+a
>>2391544 Блин, забыл самое главное. Старайся все объекты располагать по адресам, кратным степеням двойки. Так тоже быстрее обращение происходит. Это связано с тем, что компьютер пытается адрес перевести из 10-чной в 2-чную и долго делит, а когда число - степень двойки, то обращение происходит мгновенно.
Почему ебаная vs так много памяти на проекты тратит? На простенькую прогу 150мб папка. На что то посложнее 3гига может быть. Дохуя слишком. Как фиксить?
>>2391589 джава тред два блока вниз дружок-пирожок это там любую проблему заваливают машинными ресурсами выбитыми с кабанчика до тех пор пока она не решится
>>2391429 > А так уже и опыт есть, да и петы я не просто по приколу писал. Петы - отлично для преджуна. Опыт - был бы у тебя опыт нужный, тебя бы эйчары с руками и ногами отрывали.
Я когда-то тоже думал, что мне надо сразу мидла, и пет проекты у меня охуенные, все прочитал, все знаю.
Пришел на первый собес, жиденько дристанул и ушел.
>>2391667 Ну иногда так и делаю (правда на линуксе тогда уж, так удобнее). Но что то большое гораздо удобнее в vs прогать. Я просто удивляюсь как файлы подсказок набора могут занимать пару гигов
>>2391692 > Что ты забыл в крестотреде? Пишу на них
> Ещё скажи, что время программиста дороже времени написания кода. Время программиста на порядки дороже, чем железо, которым можно залить "недостаток" быстродействия. Если бы не махровое легаси - я бы с удовольствием писал на шарпе, а не на С++
>>2391759 У тебя объекты должны быть выровнены по адресам кратным размеру объекта, потому что так устроены ЭВМ. На некоторых ты просто физически не сможешь прочитать по неправильному адресу значение, а на других сможешь, но с помощью доп. инструкций, что приведет к замедлению программы. Поэтому нужен паддинг. У тебя структура до 8 дополнилась чтобы в массиве (а там элементы друг за другом должны идти) сохранился паддинг
>>2383213 >>2383179 Я другой анон тоже интересуюсь. Так вышло что всю жизнь для гуя кути юзал, но вот наткнулся на имгуи, интересно стало, попробовал всякие примеры. Глфв/сдл2 и мб еще что то там есть. Анон ты как его с вулканом испольщуешь, есть ли более правильное чтотои сочетание.
>>2391749 У тебя по умолчанию прагма пак 4, 4 байта инт, байт чар, и три байта педдинг до ещё четырех. На современных процах с кешем это на самом деле уже не настолько влияет на скорость, все равно грузится кусками, возможно даже получиться быстрее без педдинга в некоторых случаях.
>>2391520 Если ты про обмен данными между разными железками (по сети или файловый обмен), то там всё надо контролировать. Убирать выравнивание, использовать типы с фиксированной разрядностью uint8_t и учитывать порядок байт (endianness, hton()/ntoh()).
Если в рамках одного хоста, то проблем особо то и нет. Тип size_t это тип размера данных, возвращаемый sizeof() и контейнерами. Соответственно надо его использовать именно для этих целей - итерации по контейнерам и сериализация данных.
Ну а максимальный целый тип это long long и он может быть больше size_t.
>>2391829 Геймдеву сильно досталось из-за санкций (они же на внешние рынки в основном работают). Тот же wargaming закрыл головной офис в Минске скинув все проекты в Лесту, project red отобрал у saber переиздание ведьмака, часть контор вообще куда-то пропало и не отсвечивает. Из живых и крупных, наверное только конгломерат my.games (mail.ru) остался.
Остальные направления - везде по чуть-чуть и там не вулкан, а какой-нибудь gl или готовые движки. Немного мобилки, немного кады, какая-то визуализация для вояк и экзотика типа cv.
>>2392154 > современный неткор Это который теперь собирается сложнее крестов, а когда что-то идёт не так со сборкой в проекте проще другой язык выучить и переписать всё на нём?
>>2392154 Очередная макака приперлась в крестотред со своей аутофеляцией. Была ба эта макакопараша такой охуенной, сидел бы в её треде и радовался, но нет, надо залезть в тред крестов и срать. От хорошей жизни так себя не ведут.
>>2392166 Пчел, я пишу на крестах в прод 8 лет. Как я заебался с этими ебучими симейками, ебучими депендами, ебучим гцц, где на 9ой версии что-то работает, а на 11 нет. Неткор после этого - глоток свежего воздуха и понимание, что программирование это не только боль.
>>2392174 > Синтаксис сильно лучше. Одно только форматирование строк вида $"{var}" чего только стоит, я в полном восторге был. Так в крестах есть std format.
>>2392183 Чел. В языке стараются удобным делать то, для чего он предназначен. C# это язык для клепания отчётов и формочек для них. Естественно, там удобная работа со строками/текстом.
>>2392543 В любом языке независимо от задач приходится много работать со строками. Кому как не крестовикам это знать, написавшим без преуменьшения десятки тысяч реализаций строк.
>>2392543 У меня в проде 2 веб-сервиса и несколько AWS лямбд на шарпе. На С++ я бы заебался и то и то делать, в шарпе шлеп шлеп и готово. А 3 РПС можно хоть на баше делать.
>>2392623 Благо объем работ небольшой. Пару функций заменить ifdef'ами. Во всяком случае я надеюсь на это. Я просто запустил компиляцию исходника и чекнул какие ошибки вылезли
>>2392621 Стандарты unix-like открытые и намного более гибкие, в отличие от проприетарной винды. Неудивительно, что реализаций юниксов развелось так много. Саму винду на posix переделывать не будут, скорее MS создаст свой закрытый юзер-френдли дистрибутив линукса с эмуляцией winapi для сохранения обратной совместимости (нет, не wine).
>>2392629 > Саму винду на posix переделывать не будут В винде вообще сишное API уже легаси. Пусть лучше отсталые линуксоиды на кресты пересаживаются. Тем более под Винду есть хорошие автобиндинги под пидораст, с ними уже даже WinAPI не так всрато выглядит.
Крестоносцы, нужна ваша помощь. Пытался разобраться тут в ООП. ClassA является главным, у него есть поле массив классов ClassB неопределенной длины, у класса ClassB тоже есть такое поле массив классов ClassC. Можно представить это как пикрил, ClassA - элемент 1-ого уровня, у него есть элементы ClassB 2-ого уровня, у элементов ClassB есть элементы ClassC, они 3-ого уровня. Можно ли такое реализовать? Если да то как? Пример кода https://pastebin.com/6VeL5ej9
>>2392619 >Некоторый код написан с уклоном в posix И при чём тут mingw? Это компиляторы под венду, без слоя совместимости с POSIX. За ним в Cygwin/MSYS
>>2392759 По простому не выйдет. Игровой рандом отличается от математического >>2392768 Нужно как минимум отслеживать историю значений и не допускать несколько раз подряд выпадения единиц. В общем, умные люди скорее всего уже написали статьи как правильно делать игровой рандом. Бери гугл и вперед, делать свой кубик, если конечно хочешь получать от игры удовольствие, а не горелый пердак.
>>2392839 int x=0; int sum=0; cout<<"ENTER NUMBER OF D6 DICES:"; cin>>x; srand(time(0)); cout<<"ROLL RESULT:\n"; for (int i = 0; i<x; i++) { int dice = (int) (1+rand()%6); sum = sum+dice; cout << dice << endl; } cout<<"SUM:"<<sum;
я серьёзно, я пытаюсь во что-то въехать, но вижу только то как ботан в очечках показывает какие-то фичи и т.п. не ссылаясь на документацию или просто не пытаясь объяснить как это работает так чтоб лезть в доки не имело смысла
ладно я уже знаю то что преподаётся на белом поясе, но если бы я не знал - воспринять эти знания просто не реально
Во вторых, если ты хочешь прям дерево объектов, то необязательно, чтобы каждые уровни были разного типа.
И в третьих, ну ты уже же сделал базовые классы, чё дальше тебе непонятно? >Можно ли такое реализовать? Да >Если да то как? А где у тебя затуп? Ты не можешь понять, как создать массив объектов или чё?
>>2393213 в самом начале начинают давать контейнеры, не рассказав про то что они из себя представляют, не рассказывают про ссылки и тому подобное, это по твоему нормально?
>>2393219 >>2392759 >>2392839 Для более смешных вариантов неравномерные распределения для тех, кто проебал пары по теорверу смотреть хедер <random> Простой игральный кубик тоже просто сделать.
>>2393227 Этот подход вполне имеет право на жизнь, ссылки и указатели первое время тебе нахуй не сдались. Но, честно говоря, я не совсем знаю как правильно учить С++, я его начал учить больше 10 лет назад, все забыл уже из того времени
>>2393304 так вот потом и даешь, когда уже хоть что-то понимаешь и умеешь. Указатели сразу - это ебучая стена, которую не все могут перепрыгнуть. А ссылки - элементарно обьясняются.
>>2393306 Хули указатели это ебучая стена? У тебя есть тетрадный лист, каждая клетка пронумерована, начиная с нуля. В каждой клетке хранится один байт. Вот тебе и вся, блять, адресация, в два предложения, специально для даунов.
>>2393326 Это бесполезно. У того дауна даже нет представления что такое компьютер, память, как это вообще функционирует. Для него компьютер это черный ящик, так же как и язык программирования. Он просто высерает прочитанные команды и надеется что джинн в бутылке сделает как ему хочется. Таких надо просто пиздить и гнать нахуй. Натуральная баба за рулем, дергает рычаги и давит на педали, даже не понимая что ломает машину.
>>2393326 Да, хорошо, а теперь без подсказок через указатели забери вот этот элоемент из массива X - X[4][5], не используя {]. Половина сениоров с опытом 5+ лет валится на этом вопросе на собесе. Вот сам теперь и узнай, насколько ты хорошо знаешь указатели.
Все стандарты плюсов обратно совместимы, так? Получается можно просто собирать с новым стандартом плюсов, и ничего не должно сломаться, более того должно работать лучше, так?
вопрос: ну и хуле кто то до сих пор на с++11 сидит?
>>2393750 Нельзя. Совместимость в целом стараются сохранить настолько, насколько возможно, и здесь ломание обратной совместимости комитет счёл меньшим злом.
>>2393752 То есть и совместимости нету, то есть на новые версии больно переходить Но и ломать её не стоит, то есть новые версии будут и сложнее и реже выпускать
>>2393737 >: ну и хуле кто то до сих пор на с++11 сидит? У меня есть легаси на вс2012 (изначально старше, просто на более новых вообще не компилится), которое даже 11 не полностью поддерживает.
>>2393750 Не совсем. Стараются все таки сохранить обратную совместимость, но бывает, что в стандарт попадает никому не нужная хуйня, которую можно вырезать и почти никто не пострадает
>>2393737 Стандарты стандартами, а вот у нас есть код который нахуй ломается при обновлении с gcc 9 на 11, и со штудии 2019 на 22. Причем это разные куски.
>>2393758 Да, замкнутый круг. Есть три кита: - железо, не догоняющее последние стандарты - великое и необъятное легаси (сросшееся с С) - деды-основатели и Страуструп (71 год)
>>2393808 Да там порой даже не совместимость, а 100500 варнингов из которых десяток это порча памяти и ub. И только старый компилятор собирает рабочий код.
>>2393758 Боль она не только в переходе, а в том, что стандарт пухнет как на дрожжах. И те, кто могут ворковать за корутины, одновременно дают подливы за работу с c-style массивами, ссылками на функции и прочим наследием.
>>2393848 С++ - мультипарадигменный язык. Ты - узколобое быдло.
Если ты, по причине узколобости, выбрал только одну парадигму (модную пидарскую), это не значит, что остальные имеющиеся в наличии это "ненужное легаси". Нет, это только значит, что ты - представитель недоразвитого лоу-интеллект сброда, не осиливший даже понять что такое язык С++.
Если хочешь быть пидарасом на острие модных шлюъ сезона, для этого есть куда более подходящие языки, где вся такая швать в основном и сидит. И не забудь еще макбук последней модели купить, иначе все твои потуги быть стильным просто смешны.
>Во вторых, если ты хочешь прям дерево объектов, то необязательно, чтобы каждые уровни были разного типа. Это должны быть разные объекты по идее, а как подкорректировать код чтобы одним типом сделать?
>>2379873 (OP) Сап. Есть общий хидер с объявлением структуры в неймспейсе:
//header.h namespace MyDataType { extern struct TypeStruct { int varOne; int varTwo;
}; };
Есть хидер с объявлением класса и члена класса m_data //main.h #include "header.h"
class SomeClass { ... // поле класса SomeClass в неймспейсее MyDataType типа структура TypeStruct MyDataType::TypeStruct m_data; ... };
При сборке:
Ошибка C2653 MyDataType: не является именем класса или пространства имен Ошибка C3646 m_data: неизвестный спецификатор переопределения
Если использую MyDataType::TypeStruct data; в main.cpp как локальную переменную, то все ок. Но нужно поле класса (MyDataType::TypeStruct m_data;). IntelliSense не ругается, а при сборке ошибка.
>>2393969 Сап. Есть общий хидер с объявлением структуры в неймспейсе:
//header.h namespace MyDataType { extern struct TypeStruct { int varOne; int varTwo;
}; };
Есть хидер с объявлением класса и члена класса m_data //main.h #include "header.h"
class SomeClass { ... // поле класса SomeClass в неймспейсее MyDataType типа структура TypeStruct MyDataType::TypeStruct m_data; ... };
При сборке:
Ошибка C2653 MyDataType: не является именем класса или пространства имен Ошибка C3646 m_data: неизвестный спецификатор переопределения
Если использую MyDataType::TypeStruct data; в main.cpp как локальную переменную, то все ок. Но нужно поле класса (MyDataType::TypeStruct m_data;). IntelliSense не ругается, а при сборке ошибка.
>>2393304 Ну давай, расскажи мне, зачем нужны указатели, если не совместимость с Си, не полиморфизм, не самостоятельная реализация двусвязного списка или подобной структуры, и не какие-нибудь ссылки крест-накрест между связанными объектами? Это все редкие случаи.
>>2393326 Синтаксис пиздец и обычно это рассказывают через ебучие строчки. И человеку приходится одновременно думать и про строчки, и про переменные, и при свой алгоритм из двух присваиваний, и про то, как это все в памяти лежит. Это нахуй не нужно поначалу.
>>2393737 Почти совместимы. Что-то регулярно ломают, но стараются, чтобы не слишком больно было.
> вопрос: ну и хуле кто то до сих пор на с++11 сидит? Потому что хуй ты обновишь компилятор, не сломав большой проект. Даже минорную версию и то больно. На словах все такие умные и без уб, а по факту в любом коде полно завязок на конкретную версию компилятора. Иногда специально, но чаще случайно.
>>2393969 Слово extern перед struct TypeStruct убери нахуй, оно там никогда не нужно.
Если все еще не катит - выложи полный пример на wandbox.org, чтобы там тоже не компилировалось с такими же ошибками.
>>2394096 >Слово extern перед struct TypeStruct убери нахуй, оно там никогда не нужно. > >Если все еще не катит - выложи полный пример на wandbox.org, чтобы там тоже не компилировалось с такими же ошибками.
Да без него сначала и было и не катило. Два дня ска убил, вроде все очевидно и правильно, а причина простая была: Cyclic dependencies. Ну вынес это в отдельный заголовок, потом разберу где у меня лишний инклюд.>>2394096
>>2394109 Потому-что вместо удобного написания кода ты будешь заниматься какой-то полной хуйней, а-ля "почему ничего не работает, откуда эти ошибки, почему все подчеркнуто красным" и тд
>>2394187 Мне несложно. Но если человек только-только выучил переменные, то сложно. Стабильно у 60% студентов огромные проблемы, если рассказывать указатели и сишные строки в начале. Требуется несколько дополнительных пар проводить. А с std::string почему-то никаких проблем не возникает, все сразу понимают и нормально используют. Удивительно, не правда ли?
Потихоньку надо рассказывать, блять. Без указателей в плюсах можно долго и счастливо жить. И уж тем более без сишных строк. Когда-нибудь потребуются, не спорю, но в начале не нужны.
>>2394249 Если у 60% студентов проблемы с указателями и сишными строками, то первым делом доёбы надо направлвять горе-преподу, который не может нормально объяснить, как рисовать чиселки по клеточкам.
>>2394096 благодаря возможности перегрузки оператора индексации и правда, при проектировании высокоуровневых библиотек можно добиться того что пользоваться этой библиотекой можно будет почти не пользуясь указателями, более того перегрузить можно и сам оператор разыменования как, собственно, это и было сделано в stl к сожалению, большинство промышленных библиотек на крестах не делают так, а проектируются по принципу "приплюснутый си", имея интерфейсы доступа на уровне проектирования библиотек в структурном стиле 70х годов прошлого века
>>2394268 Ещё раз повторяю для слишком умных: "рисовать чиселки по клеточкам" - это только первый шаг. От этого до умения уверенно использовать указатели направо и налево проходит либо три пары, полные страданий, если указатели давать в начале, либо половина пары, если указатели давать через полгода после жизни без указателей.
Ну и нахуй мучать студентов три пары, когда можно их не мучать и всего полпары, просто поменяв местами с чем-нибудь более полезным, вроде STL?
>>2394868 1. Учись пользоваться гуглом. 2. Читай книжки, а не видеокурсы для даунов в рунете, либо хотя бы смотри курсы на английском которые законченные (МИНИМУМ 10 часов). Иначе ничему не научишься и будешь задавать банальные вопросы 1ой главы в книге. 3. return относится к типу функции. Соответственно необходимость его зависит от типа. Если у тебя void, то ничего возвращать не нужно.
Подозреваю что вопрос относится к main. В случае с int main{} в C ты ДОЛЖЕН сделать return, в случае с C++ компилятор подставит его за тебя, если ты забыл/не указал его, но в итоге в программе он там будет, просто не в исходнике. В main return указывает на статус завершения программы, 0 - все успешно и без ошибок. Все остальное - с ошибками.
>>2395329 разные версии глибцов и прочего могут нихуево тебя так удивить.
Линукс это ебучий зоопарк, где ты поддерживаешь либо 1-2 дистрибутива, либо вообще абсолютно все шиппишь в виде статически слинкованного жърного бинаря либо флатпака\снапа
Если дистрибутив не портировал какой-то портабельный код, то это его проблемы, как правило. С точки зрения адекватную систему сборки завернуть в пакет Это абсолютно задача из класса brain-dead simple
>>2395386 > где ты поддерживаешь либо 1-2 дистрибутива Чё ты пиздишь, нихуя подобного. В большинстве репозиториев разработчик пишет только правило по сборке в стиле "make install", а со сборкой под конкретный пм разбирается уже манятейнер. В убунте, например, это будет либо Каноникал, либо юзер, который самолично решил его в ппа залить В арче - юзер, который льёт его в аур В генте вон вообще того, кто не писал ебилд, за человека не считают
>>2395421 > все нужные dll рядом с экзешником В Винде можно положить dll вообще в любую папку и просто зарегистрировать её в системе. Оно само залинкуется откуда угодно. Я вот недавно взял репу демки на расте с экспериментальным игровым движком с рейтрейсингом, так там написал cargo build --release и оно просто собралось, со всеми 300 зависимостями, за 5 минут. Дождёмся ли когда-нибудь такого на крестах? Уже, блять, стыдно за еблю со сборкой.
>>2395434 > Ну да - мейнтейнить 1488 разных пакетов говна для каждого Zalupa OS Ты чё между строк читаешь? НЕ ОБЯЗАН разработчик мейнтейнить пакеты для разных дистрибутивов, это делают пользователи. Сами.
Пиздец. Целый день провозился чтобы настроить github action на windows. Вроде компилирует че то. Правда с костылями, но мне уже похуй. Найду потом человека, который это исправит.
>>2379873 (OP) Подскажите, может ли cuRAND в криптостойкий ГПСЧ?
Задача: с помощью видеокарты генерировать (128 бит) триллионы паролей одинаковой длины из фиксированного набора символов таким образом, чтобы cuRAND не допускал повторов.
>>2395448 >кроме серверов на убунте Поправил важное. Итого, вернулись к одной залупосистеме, а остальные 100500 - лесом. Швабодка нахуйпосылания во всей красе.
Помогите мне, что я делаю не так? Пишу arm-none-eabi-g++ {расположение исходного кода} -o {Название генерируемого фаила}, выдает вот эти ошибки. Я нашел видео в интернете, где поэтапно, разбирается компиляция программы с помощью gcc, там поэтапно компилируют в ручную сначала фаил .i с помощью препроцессинга, патом фаил .с c помощью компилятора, патом фаил .o с помощью ассемблера, а вот на этапе линковки, появляются эти проблемы, я еще только начал изучать компиляторы и системы сборки и мало знаю. Подскажите пожалуйста что мне делать
>>2395958 Ну я просто совсем в этих делах зелень, как мне ее подключить, указать? откуда скачать? Программа обычная ХеллоВорлд, единственная либа iostream
>>2395967 Либа уже есть, ты же инклудишь её заголовочный файл в своей программе, вот к нему еще есть файл самой библиотеки, имя которого нужно указать в команде линкера с соответствующим флагом (смотри доки по линкеру как указывать библиотеки)
>>2396022 хех >>2396005 Ну я скинул исходный код на orange pi там скомпилилось, но мне не охото каждый раз скидывать фаилы на orange pi и там компилировать, хочется все это делать на windows где приятный интерфейс а не уебанская консоль linux
>>2393526 > из массива x - x[4][5], не используя [] Надо будет - загуглю, достаточно знать о существовании адресной арифметики. Ты просто тешишь свое самолюбие, давая на практике никому ненужные мозгоебные вопросы о синтаксисе. Пиздец, сеньоры давно мыслят фреймворками, паттернами и архитектурой. Не удивлюсь, что selection sort забыли как делать. Я тоже могу тебя спросить что-то наподобие
> Пиздец, сеньоры давно мыслят фреймворками, паттернами и архитектурой. У нас есть кому думать, надо того, кто код писать может. По-этому вопросы такие.
>>2396130 >Надо будет - загуглю, достаточно знать о существовании адресной арифметики. Тут ты ошибаешься. Вопрос с массивом имеет смысл, можно попытаться ответить даже не зная ответа заранее, а твой вопрос чисто по крестовому стандарту, если не читал, не ответить, тупо вопрос на зубрилку, не требующий ума, соображать.
>>2396417 Если не хочешь на нем работу искать, то забудь про этот язык. Попробуй раст лучше. Я и сам с плюсов укачусь как только нормальная работа на расте появится. инфбио: никогда
Выглядит похоже, потому что имена потерянных методов начинаются с _, а это windows. То есть делается попытка дёргать методы хоста (отладчик под виндой) с ARM клиента.
>>2396804 вот бы меня заставили программировать йобы, я бы таких беспилотников классных наделал. Только еще специалиста по системам управления рядом посадить, что бы он подсказывал, какие формулы использовать для стабилизации полета
>>2396799 так вроде специально скачал компилятор для arm, а как можно узнать какие доступны архитектуры? Какой командой? Или в какой папке это посмотреть?
>>2396821 Компилятор то для процессора ARM, но их много всяких разных (armv7, armv5 и так далее). И они отличаются как минимум набором SIMD команд NEON и операциями с плавающей точкой. Посмотри какой процессор на твоей железке и какие ключи поддерживает твой gcc (-march, -mcpu, -mfpu).
В той же студии ты указываешь архитектуру x64 или x86 ручками (и также есть ключ компилятора /arch:).
А вообще, если ты так на старте тупишь, то лучше поставь себе питонский SDK на свою апельсинку. А про с++ забудь до лучших времён.
>>2396847 Да не, я сам работаю контору которая как мне кажется любит госзаказики, но я точно не знаю.
Я еще зеленый джун, и меня только сюда взяли на С++ формошлепить, хотя у меня даже образования программисткого нет. Ну я щас сижу и пишу гуи для линуха. Зп 50к. Работаю 6 месяцев. Не удаленка. Но делать квадракоптеры как мне кажется интересней чем писать гую, тем более опыт в электронике и микроконтроллерах у меня есть. Скинь вакансию, интересно просто.
>>2396868 Я все делаю в консоли, потому что пытаюсь понять как работает GCC и Cmake, что бы патом без гугления траблов настраивать проекты в QT Creator и Visual Studio. И мне надо на С++ именно разрабатывать.
>>2396921 Да и в интернете нет нормальных гайдов по Cmake и GCC, все приходится по крупицам собирать и выстраивать картину общую. Вот где хоть в одном гайде по GCC написано как указывать для какого процессора указывать сборку. Или про non.specs. Или Cmake чертов, вот я вижу cmake лист лежит в папке библиотеки. Я выполняю Cmake "путь к папке", патом выполняю Cmake --build. Там столько ошибок вылазит, что пипец
>>2396930 На более-менее известные проекты есть подробные гайды как их собирать (очевидно на сайтах этих проектов). Как собирать твой проект знает дед, который сидит в соседней комнате.
А то что CMake сыплет ошибками - читай их, хуле. Там будет указано, что на твоём компе либо что-то не установлено, либо надо указать пути ручками или какие-то переменные окружения в системе не заданы.
Аноны, есть нормальные гайды по структуре DirectX 12? Что-то обобщенное, приходящееся по всему API. Везде ебучие туториалы как нарисовать треугольник, код просто лапшой и общей картины нихуя не понятно. Ну вот я прочитал код и понял как треугольник рисовать, но как из этого сделать что-то внятное нихуя не понятно, всё как-то обрывочно и с ненужными деталями шаблонных реализаций. Ещё это говно с цепочками ком-объектов, аж по 5+ штук бывает, тоже не понятно нужны ли мне промежуточные объекты или нет, для каких целей весь этот зоопарк и как он сшивается во что-то цельное. Я хочу понять общую концепцию, а не по гайдам писать как будто первый раз вижу кресты.
>>2396961 Из треугольника теперь делай теперь круг, квадрат и все, что хочешь. Че ебало скорчил, вселенная у нас дискретная, мы все из тругольников состоим.
>>2396964 Но ведь меня не геометрия и теория компьютерной 3D-графики интересует, а как работать с конкретным API. Вот меня оставили с треугольником в руках, использующим просто мизер API и предлагают что-то дальше делать.
-march=armv7 и --specs=nosys.specs, эти ключи помогли собрать фаил HelloWorld без расширения. Пробовал скинуть и запустить его на Orange Pi выдает ошибку Permission denied, хотя я сижу под root учетной записью. Также я пробовал просто компилировать фаил main.cpp на апельсинке, он там также создает фаил без расширения, но он запускается и выводит в консоль HelloWorld! , а мой скомпилированный на Windows нет((
>>2396930 потому что ты щенок блядь (не оскорбление, а факт) и ищещь какие то гайды в интернетах, вместо того чтобы прочитать нужные книги по теме а дальше пользоваться официальной документацией, которая и по cmake и gcc охуенная
>>2396972 >создает фаил без расширения Как ты его назвал (-o HelloWorld), такой он и будет. Линукс считает точку обычным символом и не выделяет из имени расширений. В бинаре есть манифест и по нему определяется, что это исполняемый файл.
>>2396972 В целом ты, конечно, занимаешься хернёй. Кросскомпиляция имеет смысл, если целевая железка слабая и сборка на ней занимает много времени. В случае с малинкой/апельсинкой разумнее синхронизовать папки на хосте и на железке и создать профиль в IDE (Eclipse или что-то псвежее), который будет дёргать компиляцию на железке и цепляться к ней дебагером удалённо. Тогда можно будет просто писать код в уютном окружении и не педалить файлы туда-сюда.
>>2396996 Я сделал чмод, теперь пишет что с сегментацией что нето, надо в фаиловую систему перевести другую? >>2397026 Ну да я любитель сложных путей. Я просто хотел сначала написать программу под windows, а патом перекомпилировать ее под linux, тем более я все равно хотел написать на все это на Qt. Ну я решил скачать компилятор для GCC под arm, что бы Qt компилировала под Arm, когда это нужно. А что бы его правильно настроить нужно узнать много тонкостей от CMake до флагов GCC. Ну а в целом идея здравая, надо посмотреть как это делается. Может в Visual Studio или в Qt есть такие технологии. А синхронизировать папки нужно с помощью git?
>>2397045 Segmentation fault это не файловая система, это твоя программа крашится при запуске. Что с ней не так - смотри под отладчиком или проверяй ключи компиляции.
>Ну да я любитель сложных путей Она хотела чего-то, сама не зная, чего именно. Собственно, ей ничего не хотелось, хотя ей казалось, что ей хотелось всего.
Чел, ты пытаешься осилить сразу всё, не понимая даже как в линуксе файл запустить. Начни с разработки под линуксом на таргете. Поставь себе виртуалку с линуксом и поработай под ней с использованием синхронизации какталогов. Потом уже берись за кросскомпиляцию и удалённую отладку.
> Visual Studio Про это сразу забудь (хотя она и умеет под Windows IoT на ARM собирать). Только VS Code.
>>2397045 Ну и главное, что если ты будешь сидеть как сыч, ни с кем не контактируя, и тратить по неделе на настройку рабочего окружения, то из не говНИИ конторы ты вылетишь задолго до конца испытательного срока.
>>2397123 ну тут меня типо так и взяли, типо вот тебе комп иди к такой то цели, когда дойдешь скажешь, если будут вопросы подходи, но мне почему то не хочется. Ну и я уже впринципе обращался к по этому вопросу, но мне сказали, типо пробуй делать через Visual Studio. А я хочу делать в Qt Creator, а что бы делать в Qt Creator надо как то понять как туда добавить компилятор, или как настроить сборку из уже имеющихся компиляторов но что бы он собирал для Linux. Там в Qt есть встроенный MinGW, ну я почитал, это вроде компилятор для Windows. Госпади как же заебало это все
>>2397143 Ну а что может мне еще из под Linux'а писать программу? Я хочу по минимуму свести свое взаимодействие с Linux'ом. Можно как выше написали с помощью Eclipse. Ну у меня есть Qt, я хочу писать на нем. Там есть возможность добавления компилятора собственного, что бы его добавить нужно понимать как работает Cmake и GCC, потому что я не понимаю какие там ключи вписывать и какие команды для сборки Cmake писать. И очень странный момент, вроде бы Qt подразумевается как кроссплотформенная вещь, а по факту что бы скомпилировать не под свою систему нужно изъебнуться, особенно если ты мыло знаешь и понимаешь в этом вот всем.
>>2397131 >нет требования кроссплатформенности Шёл 2022 год, ios/android смартфоны, умные гаджеты, IoT, автомобили упакованные ADAS'ом и AI, коптеры, робаты, камеры анального наблюдения, 5G телекомы... Но в манямире разработчиков документооборота для тёти сраки 45++ кроссплатформенность всё ещё не завезли.
>>2397131 > я бы лучше на неткоре написал Неткор тоже то ещё говно. Ты видел как свежие либы от индусов под 6+ выглядят? Там такой пиздец, что они уже мсбилдом не могут его собрать и используют всякие мокрописьки вроде нюка. Если ты захочешь что-то поменять в процессе сборки, то обнаружишь такое количество кода, что cmake покажется коротким скриптом на баше. А альтернатива у крестов есть - раст. Он быстрее, больше сахара, стабильнее и собирается всегда одной командой.
>>2397131 > Cmake это отвратительный кусок говна. Чел, мне похуй. на симейк много проектов, в вакансиях требуется тоже знание. И я сам хочу разобраться для общего развития. А если тебе НЕУДОБНА хуле ты вообще в плюсах делаешь, переходи на шарп.
>>2397153 Ну ты же хотел дроны пилить. Они все на линуксе летают или каком-нибудь RTOS. Джун - 80% пердоли с линуксом (сборка, отладка, деплой, базовое администрирование), 20% написание кода. Миддл - 50% пердоли с железом, 50% написание кода. Сенька - 20% пердоли с доселе неведомым, 80% написание кода.
>у меня есть Qt А без разницы что там у тебя есть. Все кроссплатформенные IDE это конструктор. VS Code, Eclipse, CLion, Qt Creator, CodeBlocks - по умолчанию не содержат ни компилятора ни отладчика ни git ни cmake ни плагинов для раскраски языковых конструкций. Всё нужно ставить, настраивать, писать конфиги (для IDE). А потом писать make файлы для сборки проекта с учётом того, что ты накатил на IDE.
Только Visual Studio это решение из коробки - поставил и работай. Но оно только подвендой.
АНОН ВЫРУЧАЙ, ГОРЮ!!! Короче требуется написать клиент, который будет цепляться на сервер (охуенно, я знаю) и по определенному протоколу выкачивать оттуда либо файл, либо поток вещания с последующим выводом куда скажут. Как это реализовать? Полез курить сокеты, а дальше в каком направлении грести?