24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Что, если не C++? Вот находятся люди, которые говорят, что C#, но это же вообще говно говна. Как можно всерьёз воспринимать язык, в котором нет нормального const'а? Ну или Раст, в котором println! нельзя написать средствами языка, как его можно воспринимать всерьёз?
>>2691841 Пост перечитай. Пользуясь C++, я могу написать любую функцию стандартной библиотеки, пользуясь только средствами языка C++. В случае раста, если я полностью отключу стандартную библиотеку, я так сделать не смогу. Вообще любую функцию, которая требует переменного числа аргументов, написать нельзя, этого просто нет в расте.
Zaebalo уже это ебучее тайпсейфти между enum и int-ами, почему сука оно вообще существует??? Почему я не могу спокойно написать int zalupa = HER или HuetaEnum var = 42 ???
Сап, посоветуйте книгу/курс/видеолекции/что угодно по QT. В туториалах из документации есть неточности и они менее подробные, чем иногда хочется. А остальное, что находил - устаревшее говно, по которому когда делаешь, то проект даже не компилируется.
>>2692309 Потому что подлежащий тип может быть другим? Потому что инты и энумы, семантически говоря, это вообще разные вещи?
Вообще, специально для тебя в с++23: > enum attr-spec-seq(optional) identifier(optional) : type { enumerator-list } (2) (since C23) > 2) Declares an enumeration of fixed underlying type type.
В с++20 уже есть > std::underlying_type > std::to_underlying
>>2692617 Ну фиг его знает. Если это лучшая, то страшно становится за отрасль. Особенно хороша документация по сборке самого фреймворка, Qt Installer Framework и QML.
>>2692809 Я у себя спрашиваю тот же вопрос, время от времени.
Чисто в теории, тот постер, которому я ответил, должен был юзать каждое в своём случае.
Если ему нужен набор констант, то отдельный namespace с constexpr/const константами внутри. Синтаксически аналогично, а касты не нужны. Семантически верно.
Если нужно перечислять, то энум (желательно enum class). Нужен каст? Как мужЫк пишешь отдельные функции для каста с большим таким свичом. Я сам так делал, ещё и функцию делал шаблонной-неопределённой, а специализации делал в других модулях. Снова семантически верно, потому что ты не натягиваешь сову на глобус, а используешь средства языка сообразно.
Но всем хочется натянуть сову на глобус. "Как это так я не буду получать предупреждение о незабитом до конца свитче? Не-не-не, не пойдёт. Буду запихивать строки в энум, тока так!"
>>2692818 Без понятия. Как-то подорвался пощупать, охуел от куцой документации на полторы страницы, из которой нихуя не понятно и забил. У меня сложилось ощущение, что оно для мобилок и встраиваемых систем больше интерфейсы рисовать.
Не понимаю как правильно сложить офсеты чтобы получить доступ к памяти код спиздил просто из ролика чтобы хоть как-то заработало не работет Так вот, гуру плюсов, объясните пожалуйста как сделать так чтобы к адресу памяти прибавить офсеты и поменять значение этой памяти через цикл пробовал тоже говно вышло.
>>2692989 Чё ты вообще ожидаешь там увидеть? Прочти кусок побольше в массив, посмотри в дебаге, плюс минус туда смотришь или нет. Ты же какое то значение ищешь.
>>2692876 Например статическую сборку с включением либ openssl и mysql. В версии 5.7 оно собиралось по справке, выдаваемой скриптом configure, потом тупо перестало -- суёшь ему аргументы, как в справке написано, а оно хуй сосёт. Опять же, под пингвином, чтобы собрать минималистично, тоже ебаться надо, перебирая аргументы выкидывания компонентов/модулей. Но тут уже попроще было.
>>2693047 >>2692989 А, не, я понял. Для обычного, но ты хочешь три значения.
> DWORD memAddr = ... Очень странная строчка. А ты уверен, что массив в точно том же месте лежит каждый раз? Так-то, если он на куче, то может и в другом месте быть.
https://onecompiler.com/cpp/3z83y76ec Что я не так делаю? Я же вроде должен сначала протатайп вызвать, чтоб он в первую очередь до мейна выполнялся, потом сделать мейн, в которым я вызываю юзер_гэсс с параметром, после мейна пишу саму функцию юзер гэсс.
Я явно чё-т не понял... Я понимаю как функция пишется и вызывается, но почему оно не работает - я хуй знает. Ноль идей. чатжпт тоже не помогает.
>>2693302 Ну я просто 3 дня назад главу читал, потом хуи пинал. Помню что это протатайп только, и что он нужен для какой-то инициализации или ещё чего-то, хуй знает как это назвать ещё. По хорошему мне бы главу перечитать, но мне кажется я быстрее разберусь, если мне подскажут, что я не так сделал в целом/что не понял.
>>2693312 >для какой-то инициализации или ещё чего-то, хуй знает как это назвать ещё. Типа чтоб он в мейне работал, когда его вызвали, а не пропускался внутри мейна, потому что протипирования не было. Или чё-т типа того, если я правильно понял.
>>2693333 Во-первых, прототип не вызывается, это просто объявление, чтобы такую функцию можно было вызывать. Да, он должен быть написан до main. Во-вторых, функции userGuess у тебя нет, ты ещё ниже назвал user_guess. В-третьих, нельзя просто передать переменную в функцию, они передаются по значению, и в userGuess() будет создана ещё одна переменная guess, присваивать ей значение нет смысла. оригинальная переменная-то не изменится. Можно присвоить значение оригинальной переменной через &ссылки, но ты вряд ли до них уже дошёл. Короче, перепиши объявление так: char userGuess();
>>2693349 >через &ссылки, но ты вряд ли до них уже дошёл. Ааа, так вот оно как. Да, не дошёл, но читал.
Спасибо, но я всё же, наверное, перечитаю главу, потому что чё-т я перемудрил. Я правильно тебя понял, что если я создаю функцию с параметром, то в этой функции будет скрытая переменная. В случае параметра - она принимает, а в случае аргумента - передаёт? Или оно ещё как-то используется?
>>2693423 Если упростить, переменная не скрытая, это просто ещё одна переменная, но внутри вызываемой функции. При вызове функции создаются локальные переменные, в том числе параметры, и им присваиваются значения аргументов, которые ты указал при вызове. Если при вызове указана какая-то другая переменная, связь с ней не сохраняется (это если не использовать &ссылки), просто копируется значение, и дальше функция работает с этой переменной самостоятельно.
Сосачик, родненький, помоги, пытаюсь вкотиццо в сся чисто ради интереса, начал по курсам яндекса знаю что моментально червь-пидор, но ведь бесплатно!, задача - на первом скрине, вопрос - что может быть не так? Уже месяц бьюсь над проблемой, попутно решая другие задачи, может кто на здравую голову поймёт в чём проблема и укажет мне? Использую студию 22. С меня спасибо. https://0bin.net/paste/ldeHoanY#nSQ6UHSrOuxdNa6l5jYT9E+gBPDT4DdcKog-5B4e6bF
>>2694069 Судя по твоему коду, в августе 30 дней. Сделай стандартное решение. Выдели массив https://pastebin.com/raw/iThYpriR (макаба почему-то в упор не пропускает) И обращаясь к нему по (m - 1) индексу, будешь получать количество дней. Если год високосный и m == 1, добавляй единичку.
>>2693051 Да я уверен, тк я нашел офсеты которые именно к этому адресу ведут они постоянные проверял несколько раз. Единственное что осталось это прибавить их как-то к memAddr, это тестовый варик, чтобы просто понять. Как вытащить чтобы было постоянный мемАддр это уже в поисках
>>2696843 Да хуй его знает, конан при инсталле должен собрать бзип, чтобы распаковывать что ли, хз зачем он ему. С мсвц все работает, с гцц - жопа, может слишком старый для него? Но с мсвц у меня кутя не дружит адекватно, потому что это импортед комплект. да я понимаю что можно и без конанов и прочего, но 23ий год на дворе блять, не хочу все руками подключать. да я тупой
Почему нельзя инициализировать статические члены класса в самом классе? Мы же можем в методе класса объявить и инициализировать статическую переменную. И чем ее поведение будет отличаться от статического члена, кроме того, что к ней не будет доступа из других методов?
>>2698124 Я прочитал, что добавили inline, но раньше почему нельзя было? Пишут, что у статик мембера должна быть локация только в одном из транслейшн юнитов, иначе линкер не знал бы на какую область ссылаться. А где тогда локация у статик переменной метода класса?
>>2699464 Мне эта эмблема никогда не нравилась, выражением лица так сказать. Больше напоминает логотип порносайта чем операционной системы. Впрочем в опенсорсе с дизайном всегда было туго.
Анон, а как работает std::deque? Чат жпт сказал, что там блочное хранилище, и по факту при работе он повторную аллокацию может не делать, если уже память выделена.
Слова части я не смог подтвердить в Гугле.
Я хочу иметь контейнер, где аллокация повторно не происходит, т.к. у меня там жирные выровненные массивища по сотне мегабайт, а говнокодить самому не хочется
>>2692582 1. Используй QML, не трогай старое говно виджеты 2. Используй чатжпт
>>2692841 Ты профнепригодный дед. Qml всем хорош, только надо часть мозги напрячь, чтобы новые паттерны принять.
>>2699558 Ебло похоже на мем с "всезнающим" инцелом, который с усмешкой и задрав нос смотрит. Но, как выяснилось, линуксоиды не знают нихуя, а их прикладной опыт в широкой сфере бесполезен. Это как уметь открывать пиво глазом
>>2700054 В QML есть из коробки способ по интеграции виджетов и кастомных пеинтеров в qml. QML не переписывает виджеты, это именно новый, удобный-молодежный способ описания графики. Плюс с какой-то версии QT появился ихний графикорисоватор, но я им не пользовался.
Прокси для Opengl/Vulkan окон тоже есть.
>>2700055 > Повара мантов нихуя не знаю, толи дело мы - повара пельменей. Не так. Линуксоиды, на примере ЛОРа, очень строго относятся к новичкам, хуесося каждый вопрос. Но если разобраться, то в чем ценность их опыта?
>>2700185 >инуксоиды, на примере ЛОРа, очень строго относятся к новичкам, хуесося каждый вопрос. Так происходит по одной причине - вопрос гуглится за 5 минут. Лично мне, да и многим другим, там всегда нормально отвечали.
>>2700185 Кутяшная рисовалка QtCharts сама по себе говно какое то, кастом плот нравится гораздо больше. В целом я не оч понимаю, зачем уходить от виджетов на кмл. Аллокаторы надо сначала изучить, а потом искать готовые реализации. Что там будет под капотом дека, линейная, блочная зависит уже от твоих нужд. Я же не ебу, как часто ты объекты создаёшь, удаляешь. Если у тебя просто жирные массивы - то можно и хуй забить. Надо узнавать, упирается ли у тебя производительность в переаллокации и прочее.
как запомнить все эти #include <huipizda>. Может где-то есть краткий список с пояснением? Чтоб по ходу дела смотреть что нужно и вписывать. А то оч неудобно возвращаться к старому коду и смотреть, чё я туда добавлял, чтобы часть перенести.
>>2700983 >>2700986 >>2700990 Я понимаю, как это сделать с инпатом внутри программы, т.е. когда я прям в коде его впишу. А вот как вывести в консоль - хз, потому что он жалуется на это вот >>2700983 .
>>2701020 да это я понимаю... я думал оно overloaded при этом, разве нет? Когда cNum может быть и интеджером и стрингом, например. Или это только с функциями и классами работает? Если не может - то как мне сделать cin >> X чтоб он принимал любой из двух вариантов? просто написать cin >> x || z? если так работает, конечно. Или надо в проверку if всё помещать и без этого никак?
>int cNum2 = intString(stoi(cNum)); Вообще он мне это предложил, но это не совсем то, что мне нужно. К тому же string в int не конвертится и выдаёт ошибку. Да и если бы конвертился, то он мне за место string введенной выдал бы преобразовавшийся int скорее всего (?). >>2701174
>>2701181 Лучше бы помог. Я как к проблеме не подойду, со всех сторон одно и то же - упирается в то, что надо иметь на один ввод две переменных разных типов. С другой стороны, я ща допердел, можно, проверку на введённую переменную сделать, но тогда я не знаю как сравнивать введённое, если оно является интом или стрингом. К тому же в обеих случаях он может определять как стринг. Т.е. я опять неправильное решение придумал. Судя по книге всё должно делаться вообще элементарно основываясь на тех знаниях, которые дали до этой главы, но у меня не выходит.
Возможно я изначально неправильно к проблеме подхожу или не правильно понял задание. >Используя аргументы по умолчанию, напишите функцию, которая запрашивает у пользователя число и возвращает это число. Функция должна принимать строковое приглашение от код вызова. Если вызывающий абонент не предоставляет строку для подсказки, функция должна использовать общую подсказку. Далее, используя перегрузку функций, напишите функцию, которая достигает тех же результатов.
Я её заведомо как минимум усложнил разбросив на функции. Ща подумаю ещё об этом, но я уже напился в потугах понять, что от меня хотят.
>>2701190 >Используя аргументы по умолчанию Просто мне не понятно вот это вот. Т.е. функции должно быть две и одна должна принимать аргументы заранее дефолтные? Или шо. Если одна и без аргументов вообще, то я думаю и сам справлюсь. Хотя как оверлоад сделать в такой функции, если оверлоадить можно только классы и функции - я не знаю.
>>2701201 void func(int a = 1) { ... } Это называется аргумент по умолчанию. Такую функцию можно вызывать как func() и в a будет автоматически передано число 1.
>>2701206 ААААА. Бля. Т.е. они просили без ввода данных это сделать? Спасибо огромное. А я-то думаю, хули у меня такие трудности, оказывается непосильная задача.
Попытался сделать так, но он всегда воспринимает как интеджер. А как сделать проверку на интеджер/стринг я хз. Или вообще хз чё не так. Я думал он сам будет определять если это стринг или интеджер, в зависимости от того, что я введу. Когда ввожу стринг, он пишет, что это инт и я ввел 0. Спросил у бота, а он мне НАСРАЛ БЛЯДЬ НАТУРАЛЬНО НАХУЙ СО СВОИМ STD:: и хуй пойми чё там написано в этом шлаке из символов.
ебать ты кринжа навалил братишка присядь, выпей водички и медленно объясни себе смысл каждой строчки на втором скрине. при необходимости воспользуйся цппреференс и чатиком
>>2701233 Using default arguments, write a function that asks the user for a number and returns that number. The function should accept a string prompt from the calling code. If the caller doesn’t supply a string for the prompt, thefunction should use a generic prompt. Next, using function overloading, write a function that achieves the same results.
>>2701241 Короче вышло че-т такое, если убрать string - то работает. Но если вернуть стринг, то он на него жалуется. Даже если убрать всё и оставить только стринг - он всё равно не будет работать. Я не правильно аргумент передаю в случае со стрингом? Возможно забыл, как правильно.
>1>main.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl funcCheck(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?funcCheck@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@Z) referenced in function main >1> Hint on symbols that are defined and could potentially match: >1> "int __cdecl funcCheck(int)" (?funcCheck@@YAHH@Z)
Бля, парни, реально сорян. Обещаю, что больше не буду пить и учиться одновременно. Сори, что насрал. Плюс я ко всему забыл половину изученного, т.к. 3 дня нихуя не делал. Поэтому и функции написал за место протипирования.
>>2700042 > и по факту при работе он повторную аллокацию может не делать А может и делать. Бабка надвое скозала.
>если уже память выделена Да, но std::deque не умеет резервировать память, как это делает вектор.
>Я хочу иметь контейнер, где аллокация повторно не происходит std::array
Если тебе нужен именно АТД очереди и чтоб прям совсем без аллокаций с гарантией, то заверни std::array в самодельную обертку на манер кольцевого буфера. Если тебе нужен именно АТД двусторонней очереди и без аллокаций, то я не знаю элегантных решений.
>где аллокация повторно не происходит Чем конкретно тебе аллокация мешает? Если что, std::deque не инвалидит итераторы при аллокации и никуда не копирует старые данные, просто берет новую память.
Поясните за CUDA, в интернете противоречивая инфа. Хочу пилить графику на ней без графического API максимум для вывода кадров на экран его использовать, от нвидии есть крохи примеров рейтрейсинга на ней, гугл говорит что производительность шейлеров на куде даже выше может быть. Собираюсь заниматься подобным потому что надо много расчётов общего назначения будет делать, графика чисто боком пришита будет для визуализации. От сompute-шейдеров немного прихуел насколько они костыльно реализованы, очень неудобно. Я прекрасно понимаю что нужно будет графический пайплайн вручную делать и он будет медленнее того что есть в вулкане/дх12, но мне похуй, я не собираюсь делать игровой движок и уж тем более таргетиться на картофельные пека. Растеризация полигонов не нужна, если что. Больше интересует не будет ли графон слишком медленным, как вообще у куды с latency, возможно ли в принципе стабильный фреймтайм на чистой куде выдать. Может есть какие-то примеры рабочей реализации?
>>2701853 А делать расчёты на графическом API - это значит не лопатой гвозди забивать? Можно использовать interop между кудой и графическим API, но это ещё сильнее говном пахнет.
>>2701870 Куда чтука крутая спору нет. Но скольео нвидия туда говна влила , даже богам не известно больше 5 гигов, так что хз хз. Вообще если нет прямых указаний от начальства я бы не стал куду с 0 брать, а взял бы вулкан. Компуте пайплан гораздо легче графического, но если что и гррафику прикрутить сможешь.
Из примеров куды могу посветовать алиен. Там куда считает а гл рисует.
>>2701955 > вулкан > Компуте пайплан Он очень медленный, по сравнению с кудой. И про легче очень сомнительно - в вулкане надо руками делать многое из того что в куде автоматически, например управление памятью.
>>2701969 Да много гадо писать явно, но что шейдеры медленне, не думаю, просто их тоже надо писать правильно, куда делает то же, просто скрыто за тебя.
>>2702137 > надо писать правильно Все compute-шейдеры всегда медленнее куды, даже если просто портированые, по этой причине единственное их применение - нейросети на мобилках и работа с графикой. Графический пайплайн не предназначен для рандомных вычислений, это как раз и есть забивание гвоздей лопатой. Если говорить про выполнение кода на GPU, то compute-шейдеры аналог qt против winapi - огромный комбайн в виде пайплайна, заточенный только под одну задачу.
>>2701969 Блядь, что значит "медленный"? А математическая оптимизация тебе на что? Или ты лёгкой рукой суешь туда рейтрейсинг как в книжке написано, и удивляешься, что работает медленно? Как думаешь, почему все Unreal Engine 5 восхищаются?
>>2702185 Ты в корне не прав. Вулкан это не графика. Вулкан это управление драйвером гпу, прямо как куда , вывод графики и графический пайплайн - вещь опциональная, в вулкане об это сказано. Куда это те же шейдеры, байткод один и тот же, работает одинаково на одном и том же оборудовании с одним драйверлм. Твои аналоги с кути вообще бред.
>>2702201 Не слушай того, он явно не понимает что пишет.
>>2701742 > Да, но std::deque не умеет резервировать память, как это делает вектор. > std::array Короще спасибо за ответ, я ща и реализую на стд::аррае. Я предположил, что как-то за меня уже кто-нибудь работу сделал.
> Если что, std::deque не инвалидит итераторы при аллокации и никуда не копирует старые данные, просто берет новую память. Я не знаю, как происходит аллокация. Я говорю: "найди мне кусок объемом 32МБ выровненной по 4096 байт памяти". Насколько это долгая процедура?
> В бусте есть circular buffer. Короче, я чето проебался с ним и не понял как с ним работать (не помню что), хотя по названию и описанию идеально подходящая для меня вещь.
Буфер мне нужен для слива потоковых данных из PCIe, обработка в отдельных потоках
>>2702215 Слушай а для такой задачи не лучше ли свой мем пул сдедать? Ты преалоцируешь сколько надо и берешь уже из пула и возвращаешь туда же, и свободен от долгих малоков системных.
>>2702220 Ну ты подразумеваешь, что в мемпуле есть индексы используемых и свободных элементов? Мой "мемпул" для простоты основан на векторе, и сделан простой циклический буфер. Только метод поп() не значение возвращает, а элемент освобождает
>>2702252 извини анон, наверное зря я тебя запутал, делай как делаешь, а то только лишних проблем нахватаешь. А то о чем говорил я подразумевает полный контроль на алокакицй памати в принципе,а не только для какого то ондельного контейнера и конечно там нужно все отступы и размеры считать самому
>>2702215 >для слива потоковых данных из PCIe Для такой хуйни все и всегда юзают circular buffer. Разбирайся с бустом или пиши сам, это почти такая же классика как свой string.
>>2701261 Бля, часа полтора потратил. В итоге вбил ошибку в бота и он сказал, что нет функциянейм. Оказалось, что я функцию написал funct а не func. А как я должен был узнать это из этой уёбищной нечитаемой ньюфагом ошибки и когда никто не пишет? T_T
>>2702359 >А как я должен был узнать это из этой уёбищной нечитаемой ньюфагом ошибки и когда никто не пишет?
Прочитать ошибку чуть внимательнее и попытаться понять, что ей хотели сказать. В ней даже есть подсказка о том, в какой функции ты опечатался: "Hint on symbols that are defined and could potentially match: int __cdecl funcCheck(int) (?funcCheck@@YAHH@Z)"
>>2702380 У меня выходит всё это сделать так, чтоб оно работало из визуал студио, но я не уверен, что это то, что надо. Т.е. когда я ввожу string - то могу потом в консоле стриг получить, если инт - то число. От меня этого требует или чтоб он сам определял что я ввёл и в зависимости от введённого уже обращался к функции string/int >>2701238
Я, если честно, даже не понимаю как кондишен правильно написать, потому что по логике 'а' всегда тру, потому что я уже вношу какие-то цифры туда. А без создания функций без разные типов - не сделает оверлоад. Уфф, почему же так сложно-то... >>2702401
Блядь, пиздец. Ну я и дегенрат ебаный. Я просто задание не понял. Нашёл ответ в интернете и понял, что мне вообще не это надо делать. Надо короче уровень английского прокачивать.
>>2702592 1. Проще создавать красивые интерфейсы. Стандартный набор выглядит современным 2. Из коробки работает с сенсором 3. Умно сделаны формы, их отношения и зависимости 4. Удобно работать с моделями типа список, хороший визуал 5. Просто создавать всякие кнопки в таблицах, в Qt Widgets это ебля 6. Прекрасный перенос старого бекенд и полуфронтенд кода 7. Если ты тупой, можешь писать на js, даже бекенд. Реально создать приложение без написанной на с++ строки 8. Адекватное описание анимаций - фейдов, смены цветов, мигания и т.п. 9. Хочешь скорости - можешь писать графику на C++ 10. Для сложного графона доступен Canvas, как у вебоблядей. Хочешь скорости - используй пеинтер или опенгл, все работает 11. ЧатЖПТ прекрасно знает QML 12. Приветствуется написание интерфейса кодом 13. В QtCteator есть рантайм представление твоей графики, изменение цвета или поведения моментально отображается на полу настоящей формочке
Минусы. В моей версии Qt 5.11 релиз проги на винде тянет за собой вериницу qml файлов. Мне такое не нравится. Похоже, в Qt 6 прикрутили что-то типа компиляции языка. QML.
Ещё минус в том, что студенту, испорченному Виндоус Формс в шарпе, формами в Дельфи или Qt Widgets, мозговыносяще писать на qml, там надо воспринимать уи по-другому
Какого хуя модули такая залупа? Это должно была быть сборка в 1 клик чтобы не ебаться с хедерами. В результате я уже написал страницу cmake файла и блядь нихуя не работает! Да я просто в одну папку cpp с h кину и вообще никакой ебли. Ебаный комитет еб вашу мать.
>>2702609 Даже если так, оно всё перекрывается отсутствием вменяемой документации. По крайней мере так было тогда, когда я последний раз это трогал. И да, интерфейс на QML в то время выглядел абсолютно неуместно на десктопе (т.е. оно не подхватывало системную тему) -- как будто какую-то вебню или приложуху с андроида притащили на десктоп.
>>2702649 >А как должно быть уместно, чуть более круглые кнопочки из винды 95? Как юзер у себя в системе настроил. Бывают, конечно, сильно специфичные приложухи, которые по функционалу должны иметь кастомный внешний вид (какой-нибудь музыкальный софт, например).
Алсо, как там сейчас с использованием C++/Qt-шного бекенда? Если в бекенде структуры данных с классами оттуда, как это всё прокидывать в QML?
>>2702662 Дык, как обычно, от программистишки зависит.
> Алсо, как там сейчас с использованием C++/Qt-шного бекенда? Если в бекенде структуры данных с классами оттуда, как это всё прокидывать в QML?
Да. Путей несколько. Я сейчас использую qmlRegisterType<>, чтобы зарегать свой класс в QML, создание выполняется внутри QMLя. Требование от класса - потомок QObject.
Вызов функций - Q_NVOKABLE макрос
Есть крутая тема - Q_PROPERTY. Там много бойлерплейта, но тебе доступен в QML простой функционал по управлению свойствами объекта. Например, есть твой класс CustomNetworkManager, ты решаешь его через qmlRegisterType<>. В классе есть property QString ip_addr, ты пишешь сеттер и геттер.
Уже в QML созадешь класс, код будет что-то типа NetworkManager {id: network_manager; ip_addr="127.0.0.1"}
Очевидно, что в сеттере/геттере может быть функционал любой сложности, связь делается через сигналы слоты по классике.
Для моделей, типа миллиард данных, где имя, число, состояние и прочее, есть мощный базовый класс QAbstractListModel. QML генераторы типа ListView, GridView используют модель для рендера. Вся тема, связанная с запросом только N элементов для отображения, а не всего миллиарда, сохраняется
>>2702972 ну тогда > Правда ли что в вкатиться в десктоп в 100500 раз легче чем в веб не правда, вкатунов больше, но и вакух в дохуя раз больше, да и студентику легче в какой то движ по вебу залететь, стажировки там, хакатоны и тд
>>2703121 Страус в своём учебнике так сказал сделать. Я это написал ещё когда по первым главам учебника шёл, потом забил, решил написать что-то своё, и оставил шапку такой.
>>2700052 > Ты профнепригодный дед. Qml всем хорош, только надо часть мозги напрячь, чтобы новые паттерны принять. Qml это целый язык, который не используется нигде за пределами qt и по которому хуй да нихуя документации. Уж лучше писать гуй на winui с xaml как делают сами майки
>>2703297 >>2703291 >>2703286 Электрон - это единственная настоящая кроссплатформенная технология, которая позволяет софту выглядеть одинаково на всех устройствах. Я сам раньше тоже плевался пока что не начал поддерживать две софтины на нескольких платформах. А тут один раз собрал и оно везде работает. >>2703291 > 100500 терабайт оперативы. VsCode пользуешься? Это тоже электрон.
>>2703255 Пиздец, да все языки программирования +- похожи. Отличается программирование на C++ от микрохирургии глаза, тут да, переучиваться надо. Неделю потратил на изучение QML и готово, если не согласен - уволен нахуй
>>2703311 Офисное быдло, даже не понимаешь что такое программирование.
Программирование это действие - способ управления машиной. Не бывает программирования "всех устройств" - это бессмыслицца, как управлять одинаково автомобилем, экскаватором и вертолетом. Так не бывает, разные машины - раазные функции, а значит и управление разное, для каждорй машины своё. Вот что такое программирование.
А веб-параша это объект - офисный документ. Документ, понятно, желательно чтобы везде выглядел одинаково. Вот вебпараша и стремится к однообразию. Но это офисное быдло, никакого отношения к технической дисциплине программирования машин не имеет.
>>2703310 Вот сразу видно школьника, который ничего сложнее калькулятора не писал. На таком уровне действительно все языки похожи, а стоит начать писать нечто более комплексное так тут же вылезают миллионы нюансов различных технологий.
>>2703320 ЧДТ, клинический долбоеб. Иди под каждую платформу ГУИ костылируй, чтобы он нормально работал, маня, и трать на это свое время, которое можно было бы потратить на более полезные вещи, а не бляскую поддержку блядского ГУЯ.
>>2703324 >Иди под каждую платформу Под каждую платформу - свои программы, на то они и РАЗНЫЕ платформы. Иначе получаются говносайты, это не программирование вообще.
>>2703324 Если даже предположить на время существование кроссплатформенности на крестах, то кроссплатформенный гуй (на крестах и не только) это все равно либо залупа со встроенным браузером (лол!), либо нечто уебищное вроде QT. И это если не вспоминать про мобилы - надеюсь ты не будешь утверждать что можно написать один кроссплатформенный гуй для десктопа и планшета?
>>2703327 Ты по каким-то критериям из своей больной головы судишь. Вот у меня есть ядро программы с различными АПИшками. К этому ядру я могу приделать любой интерфейс: десктопный, ведроидный, веб-интерфейс, да хоть по IRCe управлять могу. Теперь ответь мне, почему я должен тратить время и силы на неблагодарную работу? Разбираться в десятках тулчейнов и библиотек одновременно, чтобы это не выглядело как говно, а потом и поддерживать, когда можно просто наклепать интерфейс на электроне и забыть про такой класс проблем вообще?
>>2703321 Я 8 лет в сфере, и использовал по работе C, C++, Python, Matlab, немного GLSL, JS на ноде, писал под микроконтроллеры. И я знаю, что программирование - полная хуйня, очень много профанов в сфере, и мало кто умеет (само собой, кроме меня) делать хорошие архитектуры систем
>>2703340 Он жрет немного, там как то умудрились оптимизировать. Он жрет на уровне нотепад++. Естественно речь о конфигурации с одинаковым набором плагинов - интеллисенсы всякие. но нотепад при это выглядит как говно 90х, даже темную тему подхватить не может.
>>2703358 >я могу Потенцивал на словах, а на деле только болтовня и говно из жопы, потому что вебпараша не может произвести ничего хорошего кроме говносайтов. Понимаешь, не важно что ты там можешь, когда в руках какашка, ты можешь только всё измазать и навонять, больше ничего. >Теперь ответь мне, почему я должен тратить время и силы Теперь ответь мне, что хорошего может сделать уебок, который еще даже не начал, но уже ничего делать не хочет. Типичное офисное говно с дерьмосайтиками ена отъебись.
>>2703904 Хуя как крудошлепа на Qt порвало. Был бы ты программистом, то я бы тебе еще ответил, но ты ничем не лучше твоих ненавистных веб-макак, а пока что принимай золотую струю на свое лицо.
Суть в чём, когда информация выводится в консоль, то видно, что там какой-то мусор. По идее должно затереться тем, что передалось в конструктор на строчке 3. Но почему-то не работает. А при попытке почистить память - программка ложится, будто бы я залез куда-то не туда. Причём, реализация статического массива объектов класса работает как надо, каждый объект по индексу выводит свою информацию, можно в цикле по методам обращаться и т.п. Хочу понять как и что делается, STL и другими штуками не пользуюсь из принципа на данном этапе обучения. Буду премного благодарен за совет.
Ситуация которую я вижу по отладчику следующая: видно, что при объявлении массива, происходит выделение памяти под то количество объектов, сколько находится в задаваемой ему размерности. Конструктор также вызывается столько раз, сколько указана размерность. Проблема, как я понял в другом, при обращении к элементу массива, а именно в строке: dynamicArray[0] = MyClass(<входящие параметры>).
Происходит вызывв конструктора, создаётся экземпляр класса который должен отправиться в ячейку массива, но затем сразу же вызывается деструктор.
У меня описан в классе конструктор копирования: Конструктор копирования MyClass::Class (const MyClass& original) { <логика> }
Как видно, он принимает ссылку на объект класса, таким образом должны обрабатываться ситуации типа:
MyClass a(<параметры>); MyClass b = a; ИЛИ b = a;
По-моему, данная конструкция: dynamicArray[0] = MyClass(<входящие параметры>) похоже не обрабатывается и, возможно, тут как раз и проблема. Как правильно нужно перегрузить оператор присваивания, >>2704574, подскажите пожалуйста? Должна получиться перегрузка, похожая по логике на конструктор копирования?
>>2704599 > MyClass b = a; > ИЛИ > b = a; Нет, это разные вещи. В первом случае ты конструируешь объект, во втором случае ты присваиваешь один объект другому.
>>2704655 Благодарю, перегрузив оператор присваивания всё вышло. По сути логика такая же как у конструктора копирования получилось. По отладке и вызовам деструкторов посмотрел, все создающиеся копии благополучно уничтожались, в конце массив чистился.
>>2704700 Бредишь? В первом случае выполняется конструирование, то есть вызывается метод MyClass::MyClass(...), а во втором случае вызывается оператор присваивания, то есть метод MyClass::operator=(...). Понятное дело, что и в первом и во втором случае будет происходить копирование, но семантически это разные вещи.
>>2704750 > От нового стандарта жду: > -скриптовые расширения Чё это и зачем > -сборку мусора И в чем будет отличие от жавы в таком случае? > -нормальные модули, функторы Тут сыглы не ебу что это и нахуй нужно > -интерфейс компилятора к чатгпт А, все понял, ты тролль
Не знаю в какой тред писать, пишу здесь. Есть некая математическая или компьютерная модель восприятия информации "Перцептрон". Вопрос, что такое весы ? Как входная информация влияет на эти весы ?
Пример: есть два входа и одно тело, на вход идут две картинки, как они влияют на веса ?
>>2705932 Не весы, а веса. Это коэффициенты связей между нейронами. Условно предыдущий слой тебе кидает 0.5, ты это умножаешь на вес связи с этим нейроном, складывешь с остальными если нужно, и засовываешь в функцию активации.
>>2705932 Веса это важность/приоритетность конретной связи относительно других. Например, у тебя что-то болит. Алкаш Вася с соседнего подъезда от всего лечится водкой и тебе предлагает, но так как Вася медицинский не заканчивал, его совету ты придаёшь вес 0.2. Идешь к врачу, врач тебе прописывает лекарство, врачу всё-таки ты веришь больше, поэтому присваиваешь ему вес 0.8. Ну и дальше там обрабатываешь как тебе хочется.
Аноны, есть ли какие-то книги, направленные на изучение плюсов для тех, кто уже имеет опыт на си? джун в одной компании Также буду рад услышать ваши стори о таком перекате
>>2692989 Я до сих пор нихуя не решил данную проблему. Когда обращаюсь напрямую к адресу - работает Когда через вот ту хуйню memAddr + offsets нихуя не работает
Можно как-то сделать шаблоны, скомпиленные без C++20, ABI-совместимыми с модулями? Приходится крестовую либу с шаблонами оборачивать в хэдеры. Если сразу в модуле делаю импорт, то линковщик высерает ошибки, причём на какие-то внутренности самой либы, а не то что я вызываю.
>>2707895 как скажешь думаю способность арифмометра умножать трехзначные числа в свое время тоже могла впечатлить неподготовленную публику и создать впечатление что до механического интеллекта осталось совсем немного
Поясните за бэкенд и высоконагруженные сервисы на C++.
Вот допустим на Go/Node.js/Python все примерно представляют как выглядит бэкенд и микросервисы.
А в случае C++ решают ли такие задачи на нем(там где нужна убер скорость и производительность?
Или C++ все таки на 99 процентов состоит из десктопа, эмбеддеда мль и геймдева?
Полистал компании, такое ощущение что в контексте бэкенда его юзает только Яндекс, но наверняка же это не так.
Что вообще принято использовать? Знаю, что есть куча либ(тот же буст) на основе которого люди пишут свои обработчики и работают с сетью, но общий популярный стандарт в этой области как-будто отсутствует. Это так?
Почему когда мы работаем с референсом - мы работаем с оригинальным значением, а когда просто пишем без референса, то создаём копию и меняем копию? Как-то это не логично. Или я что-то не так понял?
>>2708426 Ну т.е. она ссылка, потому что работает с оригинальным значением. Да? Просто как-то не совсем удолбно. Вообще я не до конца главу ещё прочитал.
>>2708458 >И вообще, ради интереса, в какой области C++ работает средний анон из треда? Пилю сервис, общающийся с неким железом и ведущий БД. И gui-клиента для него. Всё на Qt.
Как тотальному новичку, не прикасавшемуся к С++ вру, первыц семестр был - списал все, забил, забыл - что лучше учить: С++ или Раст?
А может сразу Го(на хабре пишут что там легкий вкат в язык, легкий поиск работы и самые высокие ср. зарплаты)? А может на С? Или С совсем ископаемое, и полностью заменятся Го(я читал, что Го это современный С)?
Хочу а) войти в список Форбс, 2) СОЗДАВАТЬ классное(роботы-помощники-гуманоиды или хотя бы игру уровня Ведьмак 3+Гта 4/5/са+МГС 2/3+Фейбл, но тока чтобы без кранчей и за зп по верхушке рынка(я читал что в гейдеве з/п ниже а рутины тяжелой больше)
>>2708928 >а) войти в список Форбс, Это сразу мимо программирования.
>СОЗДАВАТЬ классное(роботы-помощники-гуманоиды или хотя бы игру уровня Ведьмак Тоже немного мимо, так как знания языка из тебя программиста в этих областях не сделают. Лучше предметную область дрочи, а язык можно любой брать, так как это всего лишь инструмент. Но офк лучше брать самый лучший метаязык всех времен ЦПП, на котором можно писать абсолютно все. От ПО для F-16 до блядских сайтиков.
>>2709030 > Айти увеличивает твои шансы стать мультимиллионеров в 1000 раз!!!1111 > Априорные шансы стать мультимиллионером без богатых родителей 10-100 > Ваше ебало когда
>>2709019 std::bitset а нах тебе вектор для этого? таблицу истинности сложить что ли лол? не представляю твое ебало уже на 50 переменных. работать с булевыми функциями в 2023 без bdd-подобных структур или csp/sat алгоритмов хех мда
Подскажите пожалуйста, у нас есть трехуровневая нейронная сеть (input layer, hidden layer и output layer). Когда данные приходят на input layer, он должен умножить входные данные на веса и сложить, затем передать их hidden layer, который сделает тоже самое и в конце output layer сделает аналогично ?
То есть, получается один нейрон из СЕТИ, может взаимодействовать только с одними ВЕСАМИ ?
Тред по Си уточнул, спрошу тут. Аноны, я линуксовый админ и мне мало знаний баша, awk, coreutils итп. В работе хватает, но я хочу не тупо писать скрипты, системд юниты, следить за LA итп. Играться с дистрами тоже неинтересно. Хочу понимать как работает ядро линукса, почему отдается приоритет определенным процессам (инбф смотри столбцы PR and nice в топе), как формируется порядок процессов на обработку, как рассчитывается их утилизация итд. Хочу досконально и полностью понимать и представлять алгоритм работы простой программы (в том числе работа с памятью и процессором), чтобы каждый syscall в strace был понятен. Что мне для этого нужно?
>>2708834 Один. Есть в этом свои плюсы, частенько рефакторю там-сям, в том числе и устоявшийся код, гипотетический напарник бы охуел постоянно править свою часть. >>2708908 Железки, которые фирма производит.
>>2709850 >Один. Тогда это не работа, а васянство. Васянить можно на чем угодно, хоть на паскале, хоть на вижуал бейсике, да хоть на батниках, без разницы, ведь ты сам себе хозяин.
>>2709849 Основы архитектуры компьютеров и процессоров - база. Это то, на чём строится всё остальное порево, всё есть в книжках. Далее - тебе нужны основы ОС (в нашем случае - линупс) - тоже в книжках всё есть. Язычок, кстати, какой-нибудь низкоуровневый тоже надо знать. Вообще, у ядра линукса есть документация на гите, можешь к ней также обращаться (авось своё запилишь)
>>2709827 >>2709105 Алсо, это trade off. Сработает, только если в функции есть большие чанки нулей или единиц. Эти чанки должны интервалами покрываться.
> Что это за хуита > In practice, this means that the synchronized C++ streams are unbuffered, and each I/O operation on a C++ stream is immediately applied to the corresponding C stream's buffer. This makes it possible to freely mix C++ and C I/O.
> мне ее полноценно включить выключить Use the fucking function, Luke.
С этой хуетой в положении "ВЫКЛ" С++ I/O операции могут работать быстрее, но не будут синхронизированы с сишными операцими. Если ты не помнишь, то в плюсах можно использовать сишную либо тоже.
Теряется thread-safety, если я в глаза не ебусь.
И наоборот в положении "ВКЛ". По умолчанию находится включённым.
Ты студень что ли? Скажи преподу тебе неуд поставить.
крестики-нолики первые 6 рядов делают варианты для победы слева-направо и сверху-вниз(и наоборот) А последние 2 что делают? 7ой и 8ой? как это работает не совсем понимаю... Спасибо.
Новая капча пиздосий. Поносы какие-то или хуй прочитаешь что...
>>2710055 >А последние 2 что делают? 7ой и 8ой? как это работает не совсем понимаю... Спасибо. Толсто. Условия победы для крестиков-ноликов какие, напомни.
>>2710086 >>2710057 >диагональ Да, но как они здесь отображены. Я не очень понимаю. Там же три ряда должно быть.
АААА ЕБАТЬ. Я ПОНЯЛ. я думал, что он физически отображает ряды для победы, а он просто цифры для победы перечисляет :D Жесть до меня долго доходило.
Вообще мне очень сложно даётся tic-tac-toe, читаю и вроде понимаю, а вроде нихуя не понимаю. Местами оч сложно, например тут. Это нормально, что трудно воспринимать написанное? Надо наверное построчно разбирать и пытаться понять, как это работает, 'переводить на русский язык', 'в слова'
>>2712080 https://wiki.theory.org/YourLanguageSucks Думаешь, тут ответят объективно? Любые доводы против того или иного языка всегда сводятся к личным ощущениям. Были бы настоящие причины - этих языков бы не было. Мне вот нравится, что на крестах можно написать вообще всё нахуй, и для всего найдётся тонна либ, проверенных временем. В расте либ мало, и они сырые. А в шарпе всё крутится вокруг дектопа для винды и бэкенда с мнимой кроссплатформенностью, остальное такое же сырое, как в расте.
>>2712080 >Почему не стоит вкатываться в Вкатываться надо не в язык, а в область или изначально продумывать карьеру и зарплату, откуда будет следовать выбор языка. Сейчас области у раста, С++ и шарпа разные (хоть и немного пересекаются). >Поэтому почему С++ а не 1 или 2? Если с чисто практической точки зрения, то для крестов есть либы для всего, или плюсовые или сишные. Для раста будет или вечно поломатая хуита от васянов или кривые протухшие биндинги к той же сишке (для крестовых либ скорее всего их не будет). Весь низкий уровень - это си, соответственно, гораздо меньше геммороя, чтобы дергать функции ОС или каких-то низкоуровневых либ. Под шарп - опять же кривые биндинги, или гемморой с обертками через C++/CLI, но там хотя бы гуй есть (под виндой) и либы более стабильные.
>>2712140 Ты не поднимешь скилл до приемлемого уровня прыгая на двух стульях, человеческие ресурсы, как и все в этом мире - ограничены. Будешь тупо плох во всем.
>>2712128 Интересует именно критика, думаю хватит уже искать за всех работу. Мысль про большую часть либ - я принял. Хотя всякие гитхабы могут показывать совсем другое, что разница не особо большая или даже маленькая (на пикче выборка по >1000 звезд). Тот же шарп отстает в два раза, с учетом того что мягкие там им все написали уже и нет причин городить 100500 серверов, orm и прочих кустарных подделок, как в той же джаве.
Тот же шарп позволяет поддергать указатели, есть unsafe и области памяти без ГЦ когда надо. Поэтому и спрашиваю за них вместе. Ибо какой резон трахаться все время с памятью, когда в реале там это нужно в узких местах.
Про раст соглашусь, но и там крейтов вроде уже не мало, хз какого качество, возможно на С++ качество лучше.
>>2712173 Да ну это мантра инфоцыган и юношеского максимализма, мол я все могу я везде успею и всего достигну. Прогаю 15 лет, знаю тонну синтаксиса, писал на многом, но эффективно (если честно себе признаться) работаю только на одном, на который потратил больше времени.
>>2712128 Помню 13 лет назад думал тоже самое про жабу, мол столько либ на все случае жизни и по-любому они будут качественнее, это же джава! Это не какой-то там пхп. В реале оказалось так, что есть небольшой "остров" мейнстримных фреймворков/либ и как только делаешь шаг в сторону, ловишь тонну невиданных граблей и отсутствие хоть какой-то оптимизации.
Забавно, но субъективно, на момент 2010 года, качественных либ и инструментария оказалось больше на ненавистном всем пхп, а не на джаве. Так что у меня сомнение когда говорят про количество и качество. Тут скорее правильно сказать что у Си и С++ большой капитал кода.
>>2712220 Так в том и хуй. Если раст - это вагон, в который необходимо успеть, то будущее раста - это то, чем сейчас кресты являются - непознаваемый франкенштейн.
>>2712182 >мол столько либ на все случае жизни и по-любому они будут качественнее Тут у С++ вряд ли есть конкуренты, потому что, например, целые классы софта есть только под плюсы. Вся тяжелая математика - геометрические ядра САПР, CFD, моделирование процессов, робототехника, и.т.д. Плюс к этому куча вспомогательных либ для, например, визуализации вроде VTK или OSG. Это никуда не уйдет и через десятилетия.
>Для перебора массивов, которые входят в массив, применяются ссылки. То есть во внешнем цикле for(auto &subnumbers : numbers) &subnumbers представляет ссылку на подмассив в массиве. Во внутреннем цикле for(int number : subnumbers) из каждого подмассива в subnumbers получаем отдельные его элементы в переменную number и выводим ее значение на консоль. Блядь, я нихуя не понял
А subnumbers - это какая-то заранее созданная переменная созданная специально для лупа FOR или это sub+numbers и если я создам int xuipizda[rows][columns] то мне надо будет написать for(auto &subxuipizda : numbers)? Что это такое?
int main() { const int rows = 3, columns = 2; int numbers[rows][columns] { {1, 2}, {3, 4}, {5, 6} };
>>2712175 Для десктопных не очень нагруженных прог, шарп - очень хороший выбор. Потому что в языке есть интроспекция (рефлекшн), а она в десктопных прогах нужна почти везде (любая сериализация: сохранение-загрузка, копи-пейст, редакторы свойств). Для С++ каждый лепит сам: в Qt есть интроспекция, но тогда придется все типы данных заязываеть на Qt, что не всегда удобно, другие варианты - или велосипедная либа на макросах или свой препроцессор, как например в Unreal Engine. В расте интроспекции нет, но есть либы для нее (не знаю какого качества), правда там нет нормальных либ для окошек, так что он тут пролетает.
>>2712463 Как то начитавшись про прелести Раста решил написать на нем небольшой конвертер файлов и охерел с его многословности и загаженности синтаксиса. Хотя может это уже когнитивные искажения, кроме Плюсов я ничего не знаю луа и питон не счет
>>2712393 Потому что либо: 1 - не нужно в силу ряда причин, например по просто не требует жесткого контроля и хватает встроеннвх средств и тд. 2 - требования жесткие, но у всех солидных разрабов уже есть база которую не надо переизобреть, например свой маппул под конкрентую задачу.
>>2712971 > С++ даже по названию видно, включает в себя и Си и то чего нет в си (++), это всё вместе С++. Это менее эффективный С, так как постинкремент менее эффективен.
>>2712971 Охуительная история, сам придумал? Несмотря на то, что С действительно подмножество языка, с 14го стандарта не каждая конструкция С возможна в С++
Да можно представить более тривиальную ситуацию, что в сишке допустимо объявить переменную с именем, совпадающим с одним из плюсовых кейвордов типа class или try, а в плюсах, соответственно, нельзя. Хотя пример и надуманный, строго говоря плюсы никогда не были надмножеством сишки, только надмножеством некоторого подмножества. Да и набор UB в сишке и плюсах разный.
>>2712866 Хорош, чертяка. >>2712865 Нуну. >>2713060 Это как минимум. Плюсы кое что потеряли, из того что мог си, мне после си люто не хватает передачи временных параметров, например но дали , несомненно , что из этого нужно - отдельный вопрос >>2713080куда больше. Раньше - да, сейчас плюсы все хуже и хуже.
>>2713195 Текущий C++ развивать не нужно. Лучше выпустить C++2 без обратной совместимости со старыми версиями, с учётом многолетнего опыта разработки других языков программирования и опыта работы с C++. При этом нужна какая-никакая стандартизация и описание подходов, как у C#, например, мощная базовая библиотека, чтобы товарищи ради звёздочек в гитхабе не изобретали велосипед. То есть сделать то, что пытался сделать Rust, но из-за наплыва веб программистов с их культурой тысяч зависимтостей достичь не смог.
>>2713279 >Не проще тогда в управляемые языки перебраться? Там всего два варианта в виде джавы и шарпа, и у каждого вагон минусов (тормоза, портируемость, сложность работы с низким уровнем и т.д.). Да и зачем перебираться, если на плюсах можно писать в примерно таком же стиле без особых проблем?
>>2713283 Я не шарпо фанбой, но просто нередко слышу про оптимизации в дотнете, ну и вроде честную кроссплатформу и возможность unsafe кода или областей без ГЦ. Могу ошибаться, просто мне ни разу не требовались моменты где я бы упирался в ГЦ как проблему. конечно, я говорю про прикладные задачи, не системные
>Да и зачем перебираться, если на плюсах можно писать в примерно таком же стиле без особых проблем? Не приводит ли система владения, к чрезмерному разрастанию той самой области владения, то есть по сути объекты живут больше чем надо ввиду того что трудно это проконтролировать?
То есть абу понимает, что компьютер может распознать любые символы, сколько бы ты их не искажал и не накладывал сверху хуйни, НО ВОТ АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ - это конечно непреодолимый барьер для вычислительной машины. Распознает такой бот "7x1=?" и все, впадет в ступор, ведь только человек может решить столь сложную задачу! Это так в их голове работает?
>>2713294 Скорее всего есть проблема, что кто-то быстро адаптируется под под подбор капчи, поэтому все на что хватает сейчас сил, это менять её. В эпоху машинного обучения капчи с текстом это вообще моветон.
>>2713301 Скоро уже даже не нужно будет сетку тренировать по датасету каждого отдельного типа капчи, будет одна гигасетка, которая что угодно распознает с ходу.
> В эпоху машинного обучения капчи с текстом это вообще моветон Так какие альтернативы? Все эти капчи с "выбирите велосипед", "потяните ползунок" так же легко обходятся.
Стоит признать, что эра анонимных форумов подходит к концу и от обилия ботопостинга, который уже сейчас практически невозможно отличить от реальных юзеров, везде станет обязательным не то что привязка номера телефона, а еще паспорта и слепок ануса. Нейросети превратят интернет в кромешный пиздец.
>>2713392 >>2713398 Нашел фреймворк catch2, вроде мне подходит для задачи. А как организовать тесты в проекте? Вот у меня есть проект с реализацией преобразований Фурье. Как к нему прикрутить тесты? СОздать еще один проект с тестами и подключить файлы с Фурье к нему? Работаю в QtCreator.
>>2713321 >Стоит признать, что эра анонимных форумов подходит к концу и от обилия ботопостинга Лично мне не сильно понятен дроч на анонимность. Польза от неё только в том, что школьникам сподручнее скатывать треды в говно и бесполезный флейм. Восторгов оно не вызывало ни 10+ лет назад, когда я на этой помойке стал более-менее стабильно появляться (будучи студентом), ни сейчас.
На мой взгляд, определённая культура общения первична. На двачепараше допустимо обкладывать матом собеседника, дискутировать про говно и так далее. На "цивилизованных" площадках -- нет, они ж "цивилизованные". А наличие подписи у поста "Васянейм" или же "Аноним" дело вторичное.
>>2713595 >А наличие подписи у поста "Васянейм" или же "Аноним" дело вторичное. Ты нихуя не знаешь, как люди работают. Оставь это большим дядям, а сам дрочи свои буковки.
Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby, C#, OCaml, VB, Perl, Swift, Prolog, Javascript, Pascal, COBOL, HTML, CSS, JS Code, Compile, Run and Debug online from anywhere in world.
сап анончики, помогите разобраться с библиотеками из кучи файлов и симейком, я жестко туплю. После долгого пердолинга смог забилдить (но не скомпилировать) проект с Catch2, используя find_package. Как я понимаю, суть find_package в том, чтобы не клонить нужную библиотеку в libs/, а пользоваться уже установленной. Но тогда какие файлы из библиотеки все-же должны быть в папке проекта, чтобы их включать в .cpp файлы? То есть какая примерно должна быть структура проекта с библиотекой, например Кэтчем, подключенной через find package? В документации кетча куча разрозненных примеров и нихуя полезного, а в самой библиотеке миллион файлов, среди которых не понятно, чем нужно пользоваться
>>2714662 Ты не пончл ничего. Симейк фп вообще ничего сам не делает и можно обойтись без него прилинковав нужные либы и заинклудив пути ручками через сс/схх флаги. Опять же просто фп этого не сделает, он лишь проверяет наличие путей в системе. Потом тебе всеравно надо делать таргет линк и , возможно, таргет инклюде, просто теперь вместо либа нейм можно испольховать симейковские алиасы, типа Threads::Threads, OpenGl и тд.
>>2708458 Веб-разработка на фреймворках типа Oatpp, POCO, Pistache. И скорее это историческое наследие, чем необходимость. Уже несколько раз обсуждали, что 90% существующих сервисов можно спокойно перенести на какой-нибудь питоновский FastAPI или Go (но этого делать никто не будет, потому что на нем никто не пишет). Есть по сути три-четыре проекта, чувствительных к производительности в плане многопоточности, которые занимаются обработкой видеосигнала в реальном времени (OpenCV, Redis), но на этом все. Помимо общего бардака в фирме гнетет ощущение, что я занимаюсь чем-то не тем, и проще уж пересесть на нормальный стек для веба и съебать куда-нибудь заодно.
Я пришёл за помощью, снова. Сосачик, не пойму какого хуя, решил реализовать Совиный Язык на ссях (да, yet another), всё реализовать и вроде-бы хорошо, НО: 1.Какого-то хуя пидорасит "Лого" в обычной соснольке (на пиках). 2.Пидорасит программу если код в main с 44 строки вложить в "бесконечный" while (проверяет специально отведённый bool для выхода на false-ность и если ТРУЪ - завершает выполнение, изменение делал в switch доп. пунктом) и выполнить 1 раз, на 2-й начинается пиздец. Меня волнует конкретно второе т.к. лого ведь на работу не влияет, почему так может люто пидорасить? Спасибо. https://0bin.net/paste/qLTdUPtN#-xvPIFCqJqfTsuPZ2xS+dwYQAp3U6OWHCw8djdbxmaI
>>2716886 А как правильнее: std::string или include namespace std писать? Где-то писали, что могут какие-то библиотеки юзаться, который будут конфликтовать или какая-то такая хуйня.(я не шарю) На сколько это реально ирл и как мне привыкать писать? Просто через std:: код выглядит очень засранным(либо это в ходе привычки выдрачивается). Получаются очень длинные строки, а у меня боязнь таковых пока что, потому что в них сложная логика, а когда там ещё и std насрано...
>>2716887 хотя, наверное можно какой-нибудь нейтральный цвет настроить для std:: и прочей хуйни которую я буду юзать в будущем, чтоб не обращать внимания на это говно?..
>>2716892 >хедеры Это крупные файлы с кодом которые делают основные вещи? Почитал на сайте майкрософт и нихуя не понял, потому что слишком много новой инфы. Можешь, если не сложно, как-то кратко их описать, чтоб было понятно в той степени, которая нужна ньюфагу или ссылку на какую-то более доступную инфу кинуть?
>>2716897 Я правильно понял, что GNU для мульти-платформы, visual c++ для винда-продуктов? Clang тоже для мульти-платформы, но работает на маке при этом?
А вот, например, для x-box и винды юзают визуал с++, а в случаях с playstation что делают? А если у студии какой-то свой движок, то они компиляторы вшивают в движок? Или как это работает? Как, например, инди-студия из 5 человек делают игру для мобилок, коробки, плейстейшена и линукса LOL NO одновременно? Если можно то тоже какой-нибудь поверхностный ответ, чтоб просто в курсе дела быть.
Жесть, это ж каким гением надо быть и сколько лет проработать, чтоб контролировать все эти процессы... Чё-т стало страшно, что я нифига не справлюсь, но не время отступать! >>2716904
>>2716904 Да это просто разные компиляторы, которые пилятся разными командами под разными задачами. Как бе MSVC должен быть больше ориентирован на Винду. Сейчас не заморачивайся.
>>2716904 Clang лучший кросс платорфмерный компилятор для С++ . GCC самый известный, его форков и портов просто дохуища. Не говоря уже о том что сишный компилятор сейчас на любую живую архитектуру есть. MSVC хз зачем. Кросс платформерные приложухи в наше время должны быть. ICC это копия clang но с оптимизациями незначительными
Тренируюсь на структурах данных, в данный момент - односвязные списки. Пытаюсь сделать односвязный список содержащий в себе экземпляры классов. Проблема в том, что при попытке добавить один такой экземпляр, программа падает из-за null'а в одном из методов узла списка, который должен установить этот самый экземпляр. Дабы сильно не путать вас своим косноязычием, я выпишу сюда ключевые моменты (на всякий случай уточняю, файлы разбиты на .h и .cpp):
С примитивными типами всё понятно и просто было, решил повысить сложность и запихать в список классы, и вот запара случилась. Подскажите пожалуйста, где может быть ошибка, или быть может сам подход неправелен?
>>2718415 Мой недочёт, недописал. Там конечно же стоит параметр data
Я немного поменял, там теперь на 13 строчке будет так: p_Head = new ObjectClass(data);
Проблема теперь возникает при добавлении в конец списка. Я либо крашусь в null, либо у меня вызывается деструктор и объект в списке не сохраняется, либо такая конструкция как currentNode->Next() = new ClassNode(data) выдаёт ошибку, что выражение должно быть допустимым для изменения левосторонним значением.
>>2718422 Решил я свою проблему, но не до конца. Я не понимаю, почему при создании нового узла, у него по-умолчанию указатель сам на себя устанавливается. Хотя в конструкторе по умолчанию я прописал, что если второй параметр не указывается, то он должен уйти в nullptr. А в итоге я закольцовываюсь...
Анонсы помогите советом. Какую IDE лучше использовать под Linux? Скачал я от JetBrains -> Clion, но эту херню уже не купить из РФ (или может какие не замороченные варианты приобрести лицензию?). Единственным более менее нормальным вариантом под Linux я так понимаю остается VS Code? Вывод я сделал исходя из популярности, хотя сам не особый поклонник VS..но куле делать.
>>2719329 Друже я бы с радостью, только скажи появилась ли там возможность установить темный фон? Последний раз когда я это пробовал сделать у меня ничего не получилось.
Помогите плиз с многопоточностью в Qt. В который раз уже пытаюсь ее вкурить, никак не получается. Мне нужно вот что. Я в своей программе читаю Ethernet-фреймы из сети и обрабатываю их, делаю вычисления и все такое. Фреймы идут с большой скоростью по 4000 штук в секунду, это 250 мкс между ними в среднем. Пока я сделал все на сигналах слотах в одном потоке, вроде все алгоритмы работают как задумывал, но время от времени происходят пропажи фреймов. Пока не знаю, из-за чего, то ли сетевая карта не справляется, то ли windows, в общем хочу попробовать перенести это чтение фреймов в отдельный поток QThread. Но я сколько раз бы ни пробовал эти QThread использовать раньше, ни за что не получалось. Вот сейчас сделал тестовую программку, в ней берутся два рандомных числа и перемножаются, и потом все это в виде строки пишется в QPlainText. Через сигналы слоты все работает, а вот когда я переделал код и перенес расчеты в отдельный поток, то сразу перестало работать. Что я делаю не так? Код сюда выложил https://anonfiles.com/ecUfT8u9z5/ThreadingTest_zip
Сосачик, решил ради практики и продвижение на след.этап знаний попробовать своё соснольное поделие перевести на QT, а ещё вспомнил что у меня лежит одна из последних ТРУЪ Нокий, поэтому решил попробовать собрать ещё и под Symbian, но при сборке - пикрил, что я не так делаю? В инете ничё не написано особо, а что написано - не помогает, буду рад не только фиксу, но и краткому объяснению где обосрался, с меня НИХУЯ. https://pastebin.com/DDpTWwZk
>>2719926 1. Ссылка твоя не открывпется. 2. Освой птхреад илм стд хотя бы. Простой тред пул это 200 - 400 строк всего. рекомендую на это пункте основиться 3. Кути конечно круто, но вот в их слотах для мультипотока много нюансов, возможно ты не так кутреды пообуждаешь и функции инвокаются в мейн треде.
>>2719998 Попробовал, когда прям в СТРИНГ записывал - была ошибка "invalid conversion from unsigned int to const char*". Попробовал в unsigned int - та-же самая ошибка что и в начале. То-ли я еблан и в упор не понимаю, то-ли хуйню творю.
>>2720043 Да, с задержкой работает. Но суть в том, что мне надо будет вызывать метод чтения фрейма настолько быстро, насколько комп вообще может, то есть вообще без задержки.
>>2720071 Я их не храню. Класс FrameReader читает фрейм и передает его через сигнал всем желающим. Чтение бесконечно зациклено, он читает непрерывно их из сети. Другой класс получает фрейм и по оффсетам считывает необходимые поля в буффер. Третий класс ждет пока буффер заполнится, и делает расчет и выводит его в гуй.
>>2720083 И фрейм ридер читает нон стоп? Нет варианта складывать фреймы в паки и отдавать уже их? мне кажется ты бесконечным циклом забиваешь тред каким то образом, что он на сигналы из вне перестает отвечать
>>2720273 Да я-ж тот мудак, который тут недавно со своей говноимплементацией Совиного Языка святился, пытаюсь на Qt перевести с консоли винды, заодно пытаюсь под Symbian Belle собрать чисто ради прикола.
>>2719926 Ну смари, если надо делать некую задачу в отдельном потоке в бесконечном цикле, то я бы использовал наследование от QThread с реализацией метода run(). Например, у меня так говноплеер на ffmpeg'е сделан, там я кадры при воспроизведении в этом методе читаю. Т.е. случай из твоего примера с кулькулятором.
А если надо, чтобы объект "жил" в отдельном потоке и в нём же обрабатывал сигналы-слоты, то надо как раз через этот самый moveToThread делать. Т.е. случай с сокетом. И по описанию не похоже, что проблема пропажи фреймов нуждается в отдельных потоках. Как ты их читаешь? Надо читать по сигналам-слотам, по идее, через readyRead (патаму шта пикрелейтед).
>>2720229 Суть рт в том что все важное происходит в строго отведенный интервал времени а не фигачит нонстопом. У тебя же нет никаких гарантий что другие процесс потоки, зависящие от читателя отработают своевременно да и что отработают в принципе. Как лучше конкретно тебе - без понятия, вникать в делали не собираюсь, но выше тебе кто то уже советовал буферизацию, так делают.
>>2720334 Короче - оно заработало, вывел функции работы с текстом в отдельные функции как это было в соснольке и добавил количество проходов по тексту, как опять-же это было в соснольке (только нокию число проходов больше трёх кладёт на пару секунд к хуям, но да похуй), в общем всем кто помог - спасибо. Фотки работы прикладываю.
Что за удивительные люди конан вобще мейнтенят Почему когда я ставлю пакет imgui я должен отдельно бэкенды для него ставить? Нахуя тогда вобще этот конан тут нужен, два хэдера и соурс файл можно и без него скачать и в проект закинуть
Так бы и написали вместо пакета: ХУЛЕ ЕБАЛО КОРЧИШЬ, ДАВАЙ ВСЁ РУЧКАМИ
Причем я вижу у них прям в файлах пакета всё нужное лежит
Я указал конану какой компилятор он должен использовать в профиле Конан прекрасно видит и знает какие компиляторы я использую и где они находятся во время установки Я пытаюсь собрать собрать симейк, и вот мое удивление, он не знает какой компилятор использовать, так как конан по какой то причине этой инфы не передаёт Открываю гитхаб и оказывается разрабы конана просто НЕ УМЕЮТ получать путь до компилятора
Вот настоящие проблемы программирования в 2023 году, путь до бинарника получить и в переменную среды засунуть
https://metanit.com/cpp/tutorial/4.6.php Я вот это читаю и вообще ничего не понимаю, а когда начинает казаться, что понял, сразу путаюсь и опять ничего не понимаю.
>>2721248 > Указатели передаются в функцию по значению, то есть функция получает копию указателя. В то же время копия указателя будет в качестве значения иметь тот же адрес, что оригинальный указатель. Поэтому используя в качестве параметров указатели, мы можем получить доступ к значению аргумента и изменить его. Автор просто забыл разъяснить вкатусе тонкую терминологическую разницу между параметром и аргументом, а так же прочий жаргон времен разработки компиляторов алгола.
>>2721269 Да с параметрами и аргументами я разобрался. Я именно что запутался в указателях и ссылках. Я даже вопросы сформулировать не могу, потому что ничего не понимаю. Постараюсь щас с чатгпт попиздеть.
Кстати, у кого-то есть ссылку на телегу с нормальным чат гпт бесплатным? Блядь, макакаич опять капчей насрал, поменял её в худшую сторону. Цифры срослись...
Так: Ссылка - псевдоним переменной. создаётся с помощью присваивания, прим 'int &n = x' и адрес у неё будет такой же, как и у 'x'. Если мы взаимодействуем с переменной/рефом, то меняется и то и другое. Так же они нужны для того, чтобы не копировать данные во время работы функций.
Указатель - это НОВАЯ переменная, в которой будет храниться адрес той переменной, к которой поинтер был присвоен. Для этого нам надо сослаться ссылкой на переменную, т.е. сделать 'int &n = x', и только после этого использовать оператор разыменования в новой переменной, т.е. int 'ptr = &n' или сокращённо 'int *z = &x', чтоб не писать сначала 'int &n = x'. Всё правильно на этом этапе понял?
Я уже знаю почти все до 17 стандарта включительно, но что то естественно забыл. Теперь я хочу повторить, но при этом со всеми всеми подробностями. До мельчайших деталей. То есть мне нужен не совсем учебник, а что то ближе к справочнику, что ли. Что посоветуете?
>>2721319 Так я что то забыл из базовых вещей. Какие то тонкости тем более. А может и не забыл. Вот мне надо все это освежить. В лучшем случае я просто пробегусь по всему и пойму, что помню все. В худшем повторю что то. Мне прям по всему языку что то надо
>>2721329 >Но это не сокращение, а взято из с. >&x возращает адрес объекта х Т.е. когда ты в си писал "int z = &x " - он обращался к адресу, а не вэлью, как делает это ссылка?
>>2720872 Тогда я бы взял наследование от QThread с переопределением метода run, в котором в бесконечном цикле читал и обрабатывал эти самые пакеты. Результат бы отправлялся "наверх" сигналом. А там уже смотреть, будут ли проблемы.
>>2721392 Оператор &это взятие адреса. Int anus = 4 Int diametr_anus = &anus. &анус - это не ссылка, это операция взятия адреса у ануса. Таким образом анус лежит по какому-то адресу например (0xffaa). А внутри переменной указателя диаметр анус записан тот же адрес (0хffaa) .
Можешь сделать ссылку. Int anus = 4; Int& link_anus = anus; Int diameter_anus = &link_anus. - опять же оператор взятия адреса, взятие адреса от ссылки вернёт адрес объекта на который ссылка ссылается.
Понадобилось написать парсилку пидов для Фонлайна ага, очередной говносерв в разработке, ты не ошибся, решил далеко не идти и попробовать через парсилку ini это всё написать. Сел значицца, нашёл эту либу https://github.com/brofield/simpleini А суть в чём - суть в том, что какого-то хуя выводит лишь последний прочитанный параметр, я хуй знает почему так, и поэтому снова пришёл сюда за очередным утыканием носа в ошибку, либо я уже сплю, либо тупой, в любом случае - с меня нихуя. https://pastebin.com/99VemAe1
В чём прикол разделения декларации и реализации? Написал программу в header-only стиле, сразу в заголовках писал реализации методов классов, и всё прекрасно работало. Попробовал разделить на заголовки и исходники, и получил кучу проблем и никакой пользы. Вместо сотни файлов --- две сотни, вместо 40 секунд сборки --- 2--3 минуты, вместо одного предупреждения --- полсотни, ещё и надо настройки проекта в IDE править, чтобы заголовки находились. Так в чём же смысл?
>>2724887 Ты вообще понимаешь что сишный хедер не собирается в принципе, он встраивается туда где его заинклудили. Соответсвенно время сборки проекта целиком возростет. Нормальная реализация этих проблем лишена. Опять же не тянунтся зависимости самого хедера. Короче сиысл в хедер онли только если там все в шаблонах.
Пытаюсь подключить библиотеку из нескольких файлов к проекту в visual studio. Через свойства проекта добавляю инклуд путь, директорию с библиотекой и нужные .lib файлы. Код компилируется, но экзешник сразу крашится с ошибкой "не удается продолжить выполнение кода, потому что не найден длл_файл_нейм". Пробовал с gtest и с sfml, везде такая хуйня. Всё делал в точности по гайду индуса с ютуба (https://youtu.be/j13iYc6zRuk). Как фиксить?
>>2719926-кун снова на связи. Сорян за стену текста, но инфы много. У меня почти получилось, в итоге вышло три отдельных потока: 1) Поток для чтения фреймов, назовем его reader. 2) Поток для обработки фреймов, назовем его handler. 3) Главный GUI поток. Взаимодействуют друг с другом через сигналы слоты с Qt::QueuedConnection. После этого производительность резко увеличилась, почти перестал терять пакеты. Но только почти. Сейчас такая проблема, что когда я запускаю и ничего не трогаю, то всё работает, фреймы читаются непрерывно, обрабатываться успевают и обработанные данные выводиться в QTableWidget тоже успевают. Но если я шевелю мышкой по окну программы, то сразу начинаются потери фреймов в reader-е, почему то он прерываться начинает. Хотя с чего вдруг mouseHoverEvent главного GUI-потока вообще должен влиять на другой отдельный поток и прерывать его??? Я то ожидал, что они вообще полностью независимы от уровня нагрузки друг друга. Еще есть та же проблема, но если добавить, скажем так, расширенную обработку данных с доп. расчетами и выводом их в таблицу GUI, то тоже начинаются потери фреймов в reader-e. Вообще хз, че делать... И еще заметил сегодня, что если соединять GUI с handler-ом не через QueuedConnection, а через BlockingQueuedConnection, то ситуация улучшается, хотя и не полностью ,все равно потери есть. Но это такое, шаманство с бубеном.
>>2727802 Сейчас пригляделся и кажется нашел косяк. Я тут пишу > Direct connection, потому что они в одном потоке сидят. А сам сейчас посмотрел, где PhsMeasReader создаются, а там то нихера не так. Там так: ... PhsMeasReader *phsMeasReader = new PhsMeasReader(sv, m_frameReaderWorker); m_phsMeasReaders->append(phsMeasReader); ... phasorGroupWorker = new PhasorGroupWorker(m_phsMeasReaders, m_derivedHandler); phasorGroupWorker->moveToThread(phasorGroupThread);
Если я phasorGroupWorker инициализирую вектором m_phsMeasReaders и перенесу его в поток, то phsMeasReader-ы в m_phsMeasReaders перенесутся автоматом в этот поток или их надо ручками переносить?
Если да, то они (phsMeasReader-ы) просто не в одном потоке с FrameReader, но тогда как работает Qt::DirectСonnection между ними??? Если нет, то тогда phsMeasReader-ы, получается, остаются в потоке GUI. Но тогда тоже непонятно, как работает Qt::DirectСonnection? Обычно если между разными потоками я делал Qt::DirectСonnection, то программа тупо крашилась во время сборки.
>>2727782 По той же причине, по которой в стандартную библиотеку C++ не включают все существующие сторонние библиотеки, в ядро ОС не встраивают все существующие на свете драйверы, а в IDE не предустанавливают все существующие плагины. Контекст тебе нужен по-любому, а экстеншены все сторонние и опциональны.
>>2727822 Дайрект коннекшн = прямой вызов функции, если они внутри одного потока. Если в разных, то вызываемая функция сработает в вызывающем потоке, насколько помню. Перенесутся автоматом, если phaspor их parent.
>>2700185 > Линуксоиды, на примере ЛОРа, очень строго относятся к новичкам, хуесося каждый вопрос.
Попустись, на лоре это было лет 15 назад. Там щас такие долбоёбы отжигают, цирк с конями просто. А им максимум клоуна поставят, а 10 человек ответят теме и ещё кинутся кусок кода написать.
Реально "те" хардкорные опущенцы переехали на опеннет и какие-то опущ-форки лора.
>>2727984 Вот есть у тебя два объекта: А и Б. У Б парент А. Если ты мувнешь А, то Б тоже перенесутся. Попробуй своим воркерам ставить парента фазораВоркера того. Если память мне не изменяет.
>>2727865 Не особо понято сравнение со всеми драйверами и всеми библиотеками. Если glwf, например, создана для работы с opengl, почему не сделать ее самодостаточной, дополнительные 10 мегабайт, это слишком много?
>>2727665 Тип соединения в явном виде как правило указывать не обязательно, оно само чекает, что там по потокам и разруливает. Рекомендую попробовать убрать это указание.
>QueuedConnection, а через BlockingQueuedConnection Весьма странная хуйня, по логике второй вариант менее производительный, поскольку блокирует вызывающий поток до выполнения вызова.
>>2727822 Ну и да, если ты переносишь методом moveToThread некий объект в другой поток и при этом внутре этого объекта тоже идёт обмен сигналами-слотами с его членами, то членов тоже надо переносить. Как вариант да, через parent'а. Если члены создаются через new после переноса объекта в другой поток, то тут заморачиваться не надо, они создатутся с правильным thread affinity.
Как же дебилы из майкрософт запидорасили своими универсальными нововедениями которые заменят старые технологии.
Их планшетные API и различные супер наноеба технологии которые уже давно забыти ничем не научили.
Теперь пидорасы хотят выпилить традиционный console api. И впилить какой-то наноеба терминал который конечноо же будет в 100 раз лучше совместим на любой платформе, ос и все только выиграют!
Иронично что все их супер наноеба введения в 8ке не зашли, в первых версиях десятки были частично выпилены, а последние редакции уже практически без все этой поеботы. Ну на десятку конечно уже хуй положили щас же очередный новые нано гипер технологии вечные, от чайника до суперкмпоьютера бля буду.
>>2730078 Ну вообще там разницы особо нет, потому что даже функция ввода вывода разные в С и С++
в Си это printf(); в C++ уже cout << "ты хуй"
Но я бы все таки с си начал, денис ритчи автор языка книгу норм написал с упражнениями, там базу баз поймешь. А потом можено на страуструпа катиться.
Я вкатывался так: Денис Ритчи язык программирования Си Бьерн Страуструп ООП на примере C++ он там про шаблоны классы расписал годно, на 1000+ страниц книга, я ее до 900 страницы кое как добил и хуй забил.
>>2731990 Ну не скажи, он там впринципе по основным функциям С++ бежит и потом пишет калькулятор ну такой нормальный который там аргументы читает чтобы определить какое арифмитеческое действие первым выполнять, подобный механизм есть в компляторах когда они код проверяют на синтаксические ошибки.
Но я читал, а задания не делал в конце глав. Потому что у меня в приоритете винда и драйвера под нее, а не цпп и основы его опп. Для разработчиков компляторов может быть самое то.
Алсо, если не ошибаюсь то это он вначале книги написал что она рассчитана для студентов на летних каникулах чисто на пару месяцев позаниматься.
>>2731990 Почитай ее, там по 5-10 страниц в день хотя бы, курочка по зернышку клюет. Хорошая книга и базу С++ получишь и хоть представление об ООП, он там все показывает.
Вопрос про CMake. Есть вот такая структура директорий: ../libs ../libs/foo/ ../libs/foo/CMakeLIsts.txt ../libs/bar/ ../libs/bar/CMakeLIsts.txt ../libs/baz/ ../libs/baz/CMakeLIsts.txt ../apps/qux ../apps/qux/CMakeLists.txt foo и bar - header-only библиотечки. baz - не header-only библиотечка и использует foo и bar. qux - приложение, использующее foo, bar, baz. Что нужно прописать в соотв. файлах CMakeLists.txt, чтобы всё это нормально компилялось?
>>2734842 Ну в зависимостях указывать. add_library(name PUBLIC dep1 dep2 dep3...) С мейкфайлов начинай, если непонятно как симейк работает В хедер онли интерфейс либы, в баз обычная либа просящая интерфейс либы, в приложении все либы как зависимости
>>2734957 >>2734991 Так, например, в файле ../apps/qux/CMakeLists.txt CMake не будет знать про таргеты, определённые в других CMakeLists.txt из ../libs, поэтому target_link_libraries работать не будет. Вот если таргеты определены внутри одного файла CMakeLists.txt, тогда да, их можно подключать с помощью target_link_libraries. Как в файлах ../libs/baz/CMakeLIsts.txt ../apps/qux/CMakeLists.txt сообщить CMake-у про существование таргетов в других CMakeLists.txt?
Привет форумчане, подскажите, как в cmake добавить флаг компиляции в конец строки? На линухе не видит его, когда он ставит его сразу после g++ компилятора
>>2735446 У меня аналогично cmake_minimum_required(VERSION 3.5) project(Messenger LANGUAGES CXX) add_executable(ClientAPI client/Client.cc) add_executable(ServerAPI server/Server.cc) target_compile_options(ServerAPI PUBLIC -lboost_thread) Он флаг -lboost_thread ставит сразу после g++, если ручками компилить и указывать флаг в конце, тогда всё ок
Кто-нибудь знает что делать если в C++ у меня литерал {1} распознается не как одноэлементный вектор, а как просто число 1. Просто у меня есть две перегрузки operator[], один принимает число, а второй вектор чисел, и вот непонятно как туда передавать одноэлементный вектор кроме как явно указывать std::vector<int>{1}
>>2735603 > литерал {1} распознается не как одноэлементный вектор Это не литерал. И оно не должно распознаваться как одноэлементный вектор, потому что это не одноэлементный вектор
>>2735817 >Это не литерал А что тогда? > И оно не должно распознаваться как одноэлементный вектор, потому что это не одноэлементный вектор При передаче в моей метод литерала {1, 2, 3} все работает исправно. Компилятор не хочет ассоциировать {val} как контейнер
>>2736303 Ну ты явно тип указываешься, а я хочу передавать в метод тупо {значения}, так вот когда значений больше одного то все работает норм, но когда оно одно то компилятор начинает искать метод который вместо вектора принимает одно значение, а у меня такой метод уже есть и он перегружен для других целей
Аноны, есть кто по windbg шарит? Я делаю отладку ядра на виртуальной машине. Все нормально, ввожу порт-ключ, подключение. Но почему-то эта пиздаблядская хуета на команду .tlist выдает список ебучих процессов запущенных на хосте, а не на виртуалке. Что делать блять? Я уже все нервы об эту залупу разъебал.
Сперва были символы не те, я скачал те под хост*делал локальную отладку), потом оказалось что на виртуалке версия винды немножко более ранняя и пришлось опять ебучий .symfix делать благо что хоть в этот раз он мозг не ебал.
О СЕЙЧАС СУКА МНЕ НУЖЕН ДОСТУП К ПРОЦЕССАМ НА ВИРТУАЛКЕ, А НЕ НА ХОСТЕ КАК ЭТО СУКА СДЕЛАТЬ ПОЧЕМУ ЭТА БЛЯДСКАЯ ХУЙНЯ ВЫДАЕТ МНЕ СПИСОК ПРОЦЕССОВ ХОСТА ПОМОГИТЕ КТО-НИБУДЬ ПРОШУ НАХУЙ
спросите кто в антивирусных компаниях работает ПОЧЕМУ ТАК НАХУЙ СУКА. Пиздец заебался.
>>2737947 Из за какой-то ебаной залупы просто сжирается время нахуй, уже несколько дней впидорасил на эту залупу.
Вот 1 пик это я ввожу порт и ключ на вирталку. Вот пик 2 . Я запустил виртуалку, подключился и сделал брейк. Вот 3 пик, ЭТА ЕБАНАЯ ЗАЛУПА ВЫДАЕТ МНЕ СПИСОК ПРОЦЕССОВ С ХОСТА, ЭТО ПРОЦЕССЫ ХОСТА НУ СУКА НУ КАК МНЕ ПОЛУЧИТЬ СПИСОК ПРОЦЕССОВ НА ВИРТУАЛКЕ НЕ ХОСТА? НУ ЧТО ДЕЛАТЬ? НЕ НЕ ГУГЛИТСЯ НИХУЯ, ВСЕ КОМАНДЫ В ДОКУМЕНТАЦИИ НАПИСАНЫ ТИПА ВСЕ ЗАЕБУМБА ДОЛЖНО БЫТЬ ИЛИ В ЛУЧШЕМ СЛУЧАЕ ДАЮТ ЕБАНЫЕ ГАЙДЫ КАК НАСТРОИТЬ И ЗАПУСТИТЬ СЕАНС ОТЛАДКИ ПОМОГИТЕ СУУУУУУУУУУУУУУУУУУУУУУУУУКА
Как в Qt работает эта хуйня itemAtPosition? Хочу чтобы она выделяла нужную мне кнопку в табе ( передаю параметры row и column ), но работает не всегда, если передаю 0 0, то всё нормально, если 1 2 то выделяется почему то центральная кнопка ( их всего 9, 3x3 ), если передаю 2 2, то вообще не запускается.
Господа, хочу сделать масштабирование в с помощью средств OpenGL, также хочу масштабировать и что бы точка находящаяся под мышью не уплывала из под мыши.
Вот код, здесь генерируются точки, и затем соединяются линиями, всё работает, но из под мыши при масштабировании уплывает. Что надо исправить в методе wheelEvent?
Но не понятно почему всё же не работает первое решение, ведь в момент инстанцирования g определены (и объявлены) все f, что заставляет компилятор не расматривать объявления после неё? Ну да похуй в общем-то
Я нуб, пацаны. Раньше кодил на всяких скриптовых недо-языках, сейчас пытаюсь вкатиться в православный цпп. И да, на линухе, бубу 22.04, если это важно. Вот ВЕСЬ текст программы: > #include <jack/jack.h> > int main() { > int siz = jack_client_name_size(); > return 0; > }; Далее делаю g++ мой_файл.цпп, и он мне говорит: > неопределённая ссылка на jack_client_name_size И gcc тоже говорит, что ссылка неопределённая. Конечно, нужная либа установлена и компилятором правильно определяется (иначе ошибка была бы другая). Проект тестовый, так что в нём один-единственный файл, и выше приведён полный его текст. Имя jack_client_name_size точно правильно, написано методом копипаста из документации к либе. Никаких иде не использую, для чистоты эксперимента. Куда копать? Откуда берётся это "неопределённая ссылка"?
>>2738986 Кажется, понял. И обычно это делается через мейкфайл; а его обычно создаёт иде. Запустил кодеблокс, создал пустой консольный проект, туда скопировал код, вручную указал либу через настройки - собралось.
>>2739464 Чё ита никакой? Он сделает precompiled header, который там какие-то вкусные плюшки даёт, если его включать везде. Кажется, время компиляции уменьшает?
Но по отношению к его проблеме, да, разницы никакой.
>>2739567 Ты совсем там обдвачевался? Просто пожача хедера гцц не сделает его прекомпилед. Алсо прекомпилед хедер из внешней либы это 1000айкью - оно тебе нахуй весь код перетянет, так никто не делает. Это как в винде все проги с собой в директории все свои либы хранят лол.
Как понимать что, где и когда аллочить на куче, а не на стеке? Я читаю разный код и вижу там юник и шаред поинтеры для примитивных типов но я реально не понимаю что за логика лежит за этим. Растолкуйте что ли.
Продолжаю спрашивать околонубские вопросы. Изучаю плюсы через попытки написать обработчик миди. Для этого юзаю либу rtmidi (так как кроссплатформенная); в качестве иде окончательно определил CodeBlocks. Для поддержки джека, пишут, надо компилить примерно так: >g++ -Wall -D__UNIX_JACK__ -o midiprobe midiprobe.cpp RtMidi.cpp -ljack Окей, с голым компилятором более-менее понятно. А в кодеблоксе куда это запихивать?
>>2739358 > А оно тебе нужно, ну это, полноценное ООП?
Ну как бы лично мне похуй, я плюсы изучаю потому что но нужные мне фреймверки, библиотеки и движки(JUCE, VST_SDK, UE5) в которых я хочу развиваться написаны на плюсах, а там поебать какие в них парадигмы, на сколько плохой и сложный C++, у меня вариантов и альтернатив других нету, нужно жрать что дают. Просто думаю, как бы вообще в теории и практики ООП надо знать хорошо, потому что планирую когда нибудь в дальнейшем и в работу вкатываться на дядю, а насколько знаю как минимум на собесах по этому ООП ебут хорошо, вот собсно и задался вопросом, что не так в плюсах с ООП, чисто для себя по крайней мере, чтобы знать.
>>2740025 Чем лучше? Вот у меня есть задача, типа достаточно сложный сугубо математический алгоритм. Он паралелится. В такого рода задачах гцц ощутимо опережает кланг.
Анончики, скажите, а есть ли такой инструментарий для анализа и исследования чужих исходников, чтобы я например мог получить в этих исходниках например список всех классов которые наследованы от нужного мне класса, или например список всех функций в аргументах которых идет нужный мне класс или в качестве возвращаемого значения? В VS нет ничего такого?
Подскажите есть ли либа чтобы произвольную форммулу(кусок кода) из литерала(ввод с формы например) преобразовывать в код -> генерить хедер, срц, собирать в шаред либу и подлинковывать к исполняемому проекту, ну и хэшировать все это дело? Или самому писать придется?
>>2740182 Если не скомпилено в дебаге - будешь видеть лишь ошметки кода практически без имен, надо быть достаточно подкованным чтобы из этого собрать то что было написано. Ghidra может разбирать, но ты не увидишь то же самое что видишь при разборе своего дебажного кода или не запеченные джавы/шарпы.
>>2739961 >>2740803 Все что крупнее простых типов. Контейнеры тоже можно на стеке, но если они небольшие, а то не влезут. Проблема стека - ограничение по размеру. Проблема кучи - ограничение по скорости. Стек уже выделен тебе операционкой, куча выделяется по запросу.
>>2740824 Стоп, а контейнеры типа вектор/лист/массив это не просто микс из указатель на первый элемент, размер, капасити и прочее, а сами элементы на куче?
>>2740850 Как это нигде? В C#, например, есть типы которые размещаются на стеке, а есть типы которые размещаются в куче. Очевидно, в расте и паскале — тоже. Не знаю насчёт Го, но скорее всего и там есть разделение.
>>2740829 Ну, в строках, например, часто есть оптимизация, позволяющая хранить короткие строки внутри самого объекта, в том же куске памяти, где у длинных строк записаны указатель на кучу, длина и капасити.
Анон, а где intellisense хранит базу со всем просканированным содержимым проекта? Это можно как-то запарсить, чтобы замутить более продвинутый поиск по аргументам, возвращаемым значениям, родительским классом и всё в таком духе?
>>2741473 Никак не обстоят, валяемся в постели и смотрим сериалы в перерывах между мыслями о проёбанной жизни и отсутствии перспектив. А почему ты спрашиваешь?
>>2741492 >Почему vscode не генерирует tasks.json а с чего он должен это делать? >зачем мне его нужно генерировать самостоятельно откуда мне знать зачем ТЕБЕ это нужно?
>>2737304 Варианты: 1) string() вокруг каждого литерала 2) using namespace std::string_literals; и после каждого литерала добавляешь s. Типа такого: ". position: "s 3) создаешь буфер фиксированного размера, используешь sprintf для форматного вывода в строку 4) std::format("section name blabla {} position blabla {}", token, idx)
Из плюсов сделают нормальный язык только тогда, когда там буферы фиксированного размера станут считаться UB. Нужен фиксированный размер (два/три) - используй структуру. Все остальное динамикой. Иначе твой подход в корне неправилен.
Привет, это снова я >>2719926 Я в принципе все сделал, работает, но заметил, что когда данные быстро обновляются, то GUI не успевает и начинает лагать. При этом сами данные теперь читаются идеально, если выводить через qDebug(), то все збс, никаких ошибок или лагов. А вот GUI не могёт, захлебывается. Я попробовал сделать QTimer и давать команду на считывание данных из другого потока раз в 50 мс или в 100 мс, это помогло, данные хотя бы стали выводиться при быстром обновлении. Но GUI все равно лагает, например, когда я его двигаю. Причем похоже лагает как раз раз в 50 мс или в 100 мс, смотря как задам. Если поставлю обновление раз в 1 секунду, то наверно будет лагать раз в секунду. Как починить это? Чтоб GUI был идеально отзывчивый и чтоб я мог окно двигать даже при большой частоте обновления данных?
>>2742935 Я делал так. Закидывал свой объект в отдельный поток, из этого объекта забирал указатель на структуру, которая заполнялась в этом отдельном потоке. В основном потоке гуя, обновлял по таймеру значения виджетов, значения брал из сохранного указателя. Винда не будет работать с таймером больше 333гц(3мс) да и зачем обновлять значения виджетов с такой частотой? Чтобы гуй смертельно не зависал при перетаскивании окна в каждый тик таймера qapplication::processevent(). Избежать микрозависания в qt5 на венде не получится. (В qt6 может и починили, на линухе и так не виснет).
>>2742948 > Чтобы гуй смертельно не зависал при перетаскивании окна в каждый тик таймера qapplication::processevent() А на другие потоки процессивент же не повлияет? > Винда не будет работать с таймером больше 333гц(3мс) да и зачем обновлять значения виджетов с такой частотой? Ну да, но я в принципе с этим согласился в душе и поэтому таймер добавил для вывода. Да и вывод не особо важен, главное, чтоб под капотом можно было эти значения юзать мгновенно в других потоках негуишных. Но че то с таймером тоже косячно.
Очередной нубский вопрос по подключению хедерсов. Создаю в рокодблоксе тестовый проект по визарду WxWidgets. Запускаю. Работает. Пишу WXовый хелловорлд в geany. Собираю. Не работает. Ругается на инклюд, что не может найти файл <wx/wx.h>. Но кодблокс почему-то нормально видит этот файл. Фактически он лежит у меня в /usr/include/wx-3.0/wx - то есть, очевидно, в кодблоксе этот путь где-то прописан, но где? И самое главное - где и что в геани прописывать, в таком случае?
>>2691676 (OP) Какой же С++ все таки уебищный язык. Причем уебищный не просто в плане какого-то синтаксиса, а by design. Самое плохое при этом то, что с этой уебищностью никто не пытается бороться, а даже наоборот, защищают и преумножают ее. Грамматика уже настолько наглухо ебнутая что его можно распарсить только на эвристиках. Язык дает столько свободы что при 13% его наличия в кодобазе андроида он ответственен почти за все CVE, особенно самые критичные типо удаленного исполнения кода это вообще пиздец. Использование библиотек в 2023 году всё еще остается на уровне ИНКЛЮДОВ блять. Вдумайтесь нахуй ИНКЛЮДОВ, той самой копипасты целого файла прямо как в ассемблере нахуй. Про установку библиотек и говорить не стоит, наделали блять 10 пакетников, а либы перевести не спешат. Используешь конан? А ну ебать догадайся сам как либу подключать, ведь use it на сайте не работает уже нахуй пол года. Хочешь добавить свой личный, протестированный, прошедший автотесты рецепт? Жди нахуй 6 месяцев пока у мейнтейнеров дойдут руки нажать кнопочку АППРУВ. А или ты фанат ВиСиПекедж? Ну тогда фиксируйся на последнюю версию или иди нахуй. А сайт с либой упал? Ну тогда хуй знает иди траву потрогай подожди пока у мейнтейнеров найдется время заменить ссылку на актуальную репу. Само использование тот еще пиздец, никакого общего стайлгайда, все пишут как попало, если в проекте больше 5 библиотек то кодстайл можно распознать разве что на нюх. В одной либе есть эксепшены, в другой эррор коды, в третьей блять калька с растового Result. Там свои смарт поинтеры, там своя либа для многопотока знаете как использовать либы у каждой из которой свой тредпул? НИКАК. Я недавно даже наткнулся на либу в которой вот совсем недавно написали свою СТРОКУ. Причем вот этот плюсовой NIIH синдром это не исключение, я сменил уже 3 работы и везде блять свои костыли. На одной разве что буст был, но это не останавливало разработчиков хуярить свои парсеры и бесполезные абстракции. В языке в 2023 году все еще невозможно не то что гет реквест сделать, невозможно блять даже СОКЕТ открыть. Нет нормальной многопоточки, нет нормального io, нет нормальных контейнеров, нет нормальных регулярок, нет юникода (!), нет НИ-ХУ-Я. Я бы сказал что если из стандартной библиотеки выкинуть все кроме вектора, мапы и компиляторо-зависимых трейтов то станет только лучше. Язык-шутка, язык-костыль, язык-ассемблер, язык-сделай-всё-сам, язык-свобода, язык-инклюд, язык-не-хуже-раста, язык-геймдев, язык-зп-ниже-фронтендера нужно было выговориться после недели работы после отпуска
>>2743920 лол, столько базы, что плюсовики-анальники будут только отрицать. Про инклюды давно так не смеялся, даже в паскале, который все так ненавидят, есть охуенная модульность.
>>2744004 > над перекатом в нормальный язык Раст чтоле? Я о нем мало знаю, мне нравится ключевое слово fn для обозначения функций, что убирает мост вексинг парс и делает код приятнее. Нравится то, что все сущности по умолчанию иммутабельны. ООП в расте нету - это минус. Но самый жирный минус в том, что это никому ненужное, кроме криподебилов, говно. На плюсах же и на Си ОГРОМНАЯ кодовая база, много интересных прог, которые хочется поизучать. Хочется анриал инжин попробовать, хочется посмотреть как видеоредакторы работают и многое многое другое. >>2744021 Мне норм, более того, мне нравится. А вот что убивает во мне живое, так это гребаные задачки с литкода, ненавижу их.
>>2744028 Ну так ты пиши на расте основу, а где надо дёргай свои кресты. >ООП в расте нету - это минус. ООП это пережиток, раз. Многие ООП всё равно не понимают хуяря статичные классы на тысячи строк и неирочнично думают что это ООП. >задачки с литкода Нахуа?
>>2744028 Пробовал я ваш Раст, первый раз блеванул с того, что везде возвращается ебаный опционал, второй раз когда узнал что у структур нет конструкторов и значений по умолчанию из коробки. Нахуй так жить?
>>2744039 > "написать бинарное дерево" не просили. А это я мог сделать просто зная его описание Со всеми методами? Там может быть хитровыебанная логика с двойными циклами. А на собесе вся сосредоточенность улетучивается, чтобы в этой дрисне не запутаться.
>>2744041 Пчел, Раст даже после плюсов кажется ужасным словоблудием. Нахуй и кому он такой нужен кроме дебилов, набранных по гендерным квотам я не знаю.
>>2744045 >Со всеми методами? Не, инсёрт+обход. Ничего сложного. >>2744046 >Нахуй и кому он такой нужен кроме дебилов, набранных по гендерным квотам Бля, да пусть он будет хоть секретной разработкой Гитлера. Пока мне за работу с ним платят х3 моей прежней зп мне похуй.
>>2744052 >Проверку на нулл уже сделал? Нет, сегодня не делал. Воскресенье же, выходной. Ты совсем во времени потерялся пытаясь поправить тот фантомный баг который раз в час даёт ошибку 0x4хуя на проде?
>>2744057 >лучшее изобретение >мув не мувает >после мува состояние объекта unspecified >деструктивного мува нет даже как понятия Могут ли плюсовики придумать хоть одну нормальную фичу? У них есть столько времени, это же пиздец. В комитете сидят под две сотни программистов с опытом в 10+ лет, куча разработчиков компиляторов, техлиды бигтеха, победители международных олимпиад, почему на выходе у них всегда получается дерьмище? Дизайнили io - получили стримы с перфомансом ниже php Дизайнили шаблоны - получили sfinae которое невозможно отлаживать, дебажить даже принтами, оттестить и читать. В подарок получаешь отрицательное уменьшение времени компиляции Дизайнили многопоток - получили std::thread, отсутствие нормальных примитивов синхронизации, урезанный даже по сравнению с буст тред функционал, отсутствие блять даже нормального тредпула, out-of-thin-air дыру в модели памяти. Дизайнили контейнеры - получили unordered_map, переписывание которой стало уже добротной традицией каждого второго программиста, std::set/std::map с оверхедом по 40 байт на ноду в дереве, отсутствие flat_set-ов, строки без юникода. При этом сейчас все еще в процессе дизайна находятся экзекуторы и сокеты. Вангую на выходе получится такая же дырявая бесполезная поебень имитирующая работу фич в нормальных языках, которую депрекейтнут в 2027 и начнут ДИЗАЙНИТЬ заново в 2032
>>2744060 Судя по графикам популярность наоборот выросла. >>2744071 Спорное заявление. >>2744076 Мув-семантика это часть С++11 как раз таки >>2744075 > Дизайнили шаблоны - получили sfinae Теперь есть концепты, о сфинае можно забыть. > отсутствие нормальных примитивов синхронизации Мьютекс нормальный примитив синхронизации. - > unordered_map, переписывание которой стало уже добротной традицией Так и стринг переписывают, но не из-за плохого дизайна, а потому что другие реализации эффективны для других задач. > Дизайнили многопоток - получили std::thread А про std::future ты тактично умолчал. std::thread для более низкоуровнего управления. > Дизайнили io - получили стримы с перфомансом ниже php Пруфы.
>>2744091 > Спорное заявление. Это факт, если ты можешь создавать объект напрямую, а оператор= делает то что и должен делать приравнивает одну структуру другой, то мув семантика не нужна
>>2743990 → 1. "Операция дорогая" это значит что вместо 1 наносекунды будет 55 наносекунд, это все еще абсолютно ничто, особенно в оконном приложении. Делай как умеешь, тебе перфоманс впринципе не нужен. А если вопрос "в целом", то данные по возможности на стеке, аллокаторы системные уже достаточно неплохо работают и имеют по 3-5 уровней кэша. На винапи емнип по другому никак, там ивент луп это база любого приложения 2. "exe" файл это обычный бинарный файл с специальным заголовком, при огромном желании конечно можешь нагуглить заголовок PE-файлов и забить файл рандомными инструкциями, смысла в этом правда не много. Исполняемые файлы генерируются специальным тулчейном. Если по какой-то причине хочешь сделать это сам то спроси у чатгпт инструкцию как вызывать cl.exe и ml64.exe причин этого делать если ты не компилируешь шеллкод я не вижу
>>2744099 > cl.exe и ml64.exe Опять вижуа студия. Вот тебе такая задача, в этом мире исчезли все компьютеры и все накопители, кроме одного со свеже установленной виндой без сторонних программ. У тебя задание написать компилятор и линкер для си, как будешь делать?
>>2744125 Возьму PowerShell (+.NET) или VBScript/JScript (+ActiveX), там хоть можно записывать двоичные данные в файлы. С батниками никак этого не сделать, хоть усрись.
>>2744091 Да не спорь ты с ними, это просто толпа лохов, все аргументы мимо. Про треды я вообще проорал, си и плюсы литерали единственно что хорошо работает в многопотоке.
Анончики, скажите, а есть ли такой инструментарий для анализа и исследования чужих исходников, чтобы я например мог получить в этих исходниках например список всех классов которые наследованы от нужного мне класса, или например список всех функций в аргументах которых идет нужный мне класс или в качестве возвращаемого значения? В VS нет ничего такого?
>>2744286 Тебе по хорошему нужно создать модель, и чтобы она сама каждые Н мсек подтягивала новые данные из буфера. может у меня шиза, но вроде виджеты сильно медленнее view model
>>2744229 >>2744383 Аниме на месте, понял. Местный детсад протек. Масса всего, база, так сказать была и есть на анси си и посиксе, но пориджи на сосаче не котируют сишные треды, ведь это посикс. За то им нужны можули и пакедж манагеры, это мейкфайл самому не написать.
>>2744389 > не нужно Мне вот интересно, есть хоть одна причина зачем оправдывать минусы языка? Тебе платят? Тебе обидно что твой язык обижают? Тебе обидно что ты на нем пишешь? В чем мотивация?
>>2744439 Ты не понял от слова совсем. Язык не мой, я его не защищаю. не от чего. Минусы - нет.с твой субьективной точки зрения Не нужно - очевидно, бало бы нужно, за 30+ лет сделали бы.
>>2744623 Куда это гпу, а чем там абстракции построены - плюсами или си не суть. Дрова те же. >>2744501 Вперед, делай. Но ты, оведно, путаешь комитет - разработчиков самого языка и прочих разрабов - пользователей этого языка, которые конечно могут писать что угодно, в силу умений и необходимрсть, хоть пакетники. Но вот имеем что есть. Вывод очевиден. Ну а если ты счиьаешь что все это тоже работа комитета надеюсь что нет, а то страшно становится, до давай тогда все инженеров автопрома обяжем и машины на заводе слбирать, например.
>>2744623 >Вот как на плюсах все плохо с многопотоком Ты понимаешь что речь про язык? В плюсах буквально минимум, если что-то убрать то этим будет просто невозможно пользоваться. Из-за того что в языке минимум, а работа с библиотеками в плюсах это адовый пиздец, каждая вторая компания считает своим священным долгом изобрести все то что есть в нормальных языках из коробки. Только есть ньюанс, плюсовики в большинстве своем люди лоускильные, но самоуверенности им не занимать, в результате мы получаем на 10 либ пять тредпулов, два из которых писали люди без понимания модели памяти, два из которых скопипастили с первой ссылки на гитхабе - типо, НУ А ЧО, НЕ МОЖЕТ ЖЕ БЫТЬ ЧТОБ У ЛИБЫ С 1.5К ЗВЕЗД БЫЛО ЧЕТ ХУЕВОЕ может и еще раз может, а последняя либа написанная тобой или твоим коллегой. Самое смешное то, что либы друг про друга ничего не знают и узнать не могут, в результате у тебя вместо нормального количества тредов их будет штук 60 вытесняющих друг друга. Абсолютно та же хуйня происходит с абстракциями типо MPMC/MPSC очередями, хотя там наверное еще хуже, ведь плюсовики после прочтения целых двух абзацев про memory_order на цппреференсе считают что этого достаточно чтобы наугад расставлять мемори ордеры. Ну а хули relaxed написано быстрый, а плюсы что? правильно, быстрые, значит ебашим везде релаксед. Причем это будет работать под х86, но вот если ты попробуешь этой хуйней пользоваться под каким-то армом то твой код будет очень смешно падать, и тебе повезет если там будет хотя бы стектрейс. В расте например есть нормальный фреймворк для многопотока и все юзают его, может он не самый лучший из всех возможных вариантов, но главное то что он есть, и люди в гораздо меньшей вероятностью начнут писать свои наколеночные ногопростреливающие обосраноубшные говноочереди. То что на плюсах смогли написать что-то связанное с многопотоком это не благодаря, а вопреки, вопреки блять отсутствию нормальных средств работы с многопотоком. Я код куды не смотрел, но более чем уверен что плюсовых тредов там нет и в помине, как и этих смешных атомиков в которых нет функций для работы с сырыми данными без лишнего оверхеда
>>2744749 Ну чтож. >>2744777 Все что ты пишешь это проблемы тех кто с гитхаба тащит и прочих нубов. Это ты правильно подметил. Но это не проблема нормальных разрабов, не проблема компаний что пишут свои либы, и уж тем более не проблема языка.
>>2744777 БОльшая часть твоего поста - это претензии к организации какого-то проекта и рукожопам на разрабах. Язык предоставляет базу для написания ВСЕГО, что ты хочешь. Тебе прямо и говорят, что если ты не долбоеб, то бери наш инструмент и решай свои задачи, все. Это как выбрать Сишку, а потом жаловаться, что изкоробки нет инструментов для работы с базами данных. Плюс, сам же написал, что для раста создали внешний фреймворк, который все используют. Ну так напиши свой фремворк на плюсах, которым будут все пользоваться, в чем проблема? Только потом окажется, что универсального решения не существует и на каждую задачу приходится универсальный велосипед костылить. Это как со строками, их десятки видов, на любой вкус, но при этом ни один из них нельзя выбрать в качестве универсального решения. Поэтому проще просто дать базовые инструменты и свободу пользователям.
>>2744785 >>2744787 >в языке нихуя нет >это не проблема языка >и вообще сами виноваты что на этом пишите Вот об этом я и говорил в прошлом посте, плюсовой стокгольмский синдром. Люди буквально защищают отсутствие функционала. Просто пиздец. Давайте еще контейнеры удалим, будут люди делать свои деревья и векторы с перфом в 4 раза хуже, а плюсовики будут это и дальше защищать >НУ ВОТ ВОЗЬМИ БЛЯ И НАПИШИ ЗАЕБИСЬ ДЕРЕВО У ТЕБЯ ВСЕ ВОЗМОЖНОСТИ ЕСТЬ >А ВОТ У НАС В ФИРМЕ ЗАЕБИСЬ ДЕРЕВО ЧЕЛ ОЛИМПИАДНИК НАПИСАЛ >НУ СКАЧАЙ ТАМ ФРЕЙМВОРК НА 500К СТРОК ТАМ НОРМ ДЕРЕВО Просто пиздец, вы на работе точно задачи решаете? Или вы где-то в отделе тулзовин сидите контейнеры пилите свои?
>>2744792 Просто ты не понимаешь, что можно сделать +- универсальное решение и добавить его в язык, а можно высрать говно, которым никто не будет пользоваться и напихивать язык каждым таким решением, чтобы он стал еще более хтоничестким, называя это функционалом. Где можно было обобщить, там пока что обобщили.
>>2744801 >а можно высрать говно, которым никто не будет пользоваться и напихивать язык каждым таким решением, чтобы он стал еще более хтоничестким, называя это функционалом Буквально фьючи и async из плюсов Ты кодил на чем-то кроме плюсов? Джава? Сишарп? Раст? Го? Ну или хотя бы на каком-то крупном фреймворке типо qt или UE? Ну или может юзал folly? Вот как сука нужно это делать. У одних плюсовиков и сишников пока не получилось, еще вот чуть чуть и догонят блять Ada и фортран, в которых семафор появился на 50 лет раньше С++. Я даже не удивлюсь если в Си нормальный функционал появится раньше, а плюсовики будут еще лет 15 аппрувить экзекуторы чтоб получилось хорошо и универсально, ведь у плюсовиков всегда очень хороший дизайн фич
>>2744809 >Джава? Сишарп? Раст? Го? Ну или хотя бы на каком-то крупном фреймворке типо qt или UE? Ну или может юзал folly? Вот как сука нужно это делать Не метаязыки, а ЯП заточенные под задачу.
> У одних плюсовиков и сишников пока не получилось, еще вот чуть чуть и догонят блять Ada и фортран И где твои Ада с Фортраном? Ты хотя бы пытался на Аде писать?
>>2744809 >Ну или хотя бы на каком-то крупном фреймворке типо qt или UE? Ну или может юзал folly? Алсо, ты выше бухтел, что у плюсов нет хороших внешних фреймворков как у раста, а теперь сам их привел.
>>2744828 >Всё я сдаюсь, этот манямир не пробить Блядь, ну давай разберем каждый твой язык >Джава? Сишарп? Го? Одна ниша с плюсами? >Раст? При байтоебстве превращается в самую худшую версию Сишки и плюсов.
>>2744792 > Вот об этом я и говорил в прошлом посте, плюсовой стокгольмский синдром. Чел, ну ты встань на их место НЕСКОЛЬКО ЛЕТ учить язык, знать устройство всех кишок, тратить огромное кол-во времени чтобы разобраться с зоопарком из инструментарии, просмотреть несколько десятков выступлений с советами как не убить прод И тут заходит какой то анон, и говорит что они потратили время на недоделанный яп
>>2744848 Вы просто не понимаете насколько плюсы и сишка охуенны, после нескольких лет работы в вебе, интерпрайзе и прочих микросервисах, где технология меняется не потому что техническо стало что-то лучше, а потому что МОДА изменилась. После этого сидеть и писать коммерческую хуйню для исследования морского дна для прокладки торгового пути - просто 10/10.
>>2744852 >писать коммерческую хуйню для исследования морского дна для прокладки торгового пути Это, конечно, круто и интересно, но при этом что сишка что плюсы отнимают просто дохуя времени на еблю с ненужными вещами. Я 4 года кресты учил, сам, идейный был. В универе базу дали, а я потом самостоятельно десяток книг прочёл и кучу говна на них слепил. Но так и не вкатился, потому что вечное понимание что "я знаю что ничего не знаю". Ну и я не молодой уже, чтобы проёбывать драгоценное время на траханье с тем, что изначально хуёво задизайнено. С другой стороны у меня раст где я написал cargo add, получил все необходимые мне зависимости и пишу что мне нужно написать. А конпелятор мне ещё и заботливо подскажет где и какую ошибку я допустил. Да что там, лол, он мне во многих случаях подскажет ЧТО именно я должен изменить/дописать. Говорить про то, что я спустя 3 месяца неспешного ебения с растом вкатился на работу на нём даже как-то неловко.
>>2744858 Так я не в вашей стране. Да, вкатился в крипто-нфт-млп-360-стартап, морское дно пока не исследую, но всё ещё кратно интереснее вебмакакинга, поспоришь.
Да забейте, это либо юнец питонщих либо тролль либо и то и другое. Не будет нормальный плюсовик топить за введение всего этого говна в плюсы, да еще и в стандарт.
>>2744852 Я все жду пока гпт4 или продукт на его основе доведут до ума, и все эти знания, за которые по факту плюсовики и получают зарплату, можно будет дописать в резюме разве что как большой плюс. Сколько не видел плюсовиков в своей жизни, всех можно было поделить на 2 типа: 1. Дед/бывший студент, выучивший плюсы просто потому что в универе давали, после попал на галеру на которой сидит уже не первый год 2. Идейный фанбой добровольно тратящий всё свободное время на изучение языка. Именно языка, потому что пока какие-то мл ресерчеры просто берут питон, потому что он проще, и решают на нем задачи, фанбой учит сам язык в вакууме. Вот их я надеюсь и порешает ИИ, знания на уровне дрочки справочника и заучивания 400 эджкейсов и 75 уб не должны цениться вообще ни в каком виде. Наверное единственное исключение на моей памяти это чел из джетбрейнс который тулзы для языка пилит, там это и правда нужно. Остальные жсоноперекладывателями в яндексах и сберах гребут
>>2744870 Дядя это и в винде было, и на макоси с немного другим апи было, это было буквально везде. Знаешь где этого не было вплоть до текущего стандарта? Догадайся с трех попыток
>>2744875 >Ну так с этого и начинать надо было вот тут плюсую. Обычно когда нахваливают вкат в раст, не говорят о какой стране речь. Тем более чел вон 4 года плюсами занимался, очевидно за 3 месяца вкат будет более простым. Дай изучать раст вкатуну - он так же точно будет 4 года его ковырять не понимая, что происходит и зачем нужна та или иная вещь
>>2744872 Ты то аниме/тролль. Ты вкурсе что плюсы прзволяют писать си и даже асм код. А ты все серишь что чего то тебе не хватает. Ну я тебеивыше уже все разжевал. Пернчитай необходимое количество раз. Ну и пиши сам, раз тебе что то надо.
>>2744875 >Ну так с этого и начинать надо было Ну кто же вам виноват, что вы паспортом не вышли. Год назад с тем же успехом и вы могли устроиться. >Все что на твоем расте и есть Ничего-ничего, пока вы на своих плюсах будете кабели на дне морском прокладывать мы будем ПО для иксвингов писать.
>>2744880 >плюсы прзволяют писать си и даже асм код Заорал, ассемблер тоже позволяет, он даже больше позволяет т.к в мсвц нельзя под х64 асм вставки делать. Ты лучше перечитай то что я писал, может сложишь 2 и 2 и поймешь почему на ассемблере уже ничего не пишут на плюсах впринципе тоже прекращают
>>2744856 >ь. Говорить про то, что я спустя 3 месяца неспешного ебения с растом вкатился на работу на нём даже как-то неловко. А если бы без ебли с плюсам не вкатился бы в раст, ммм? Все таки питон/веб макаки верещат о сложности раста и как раст "взорвал" их мозг, а ты за 3 месяца уже разобрался и работу нашел.
>но при этом что сишка что плюсы отнимают просто дохуя времени на еблю с ненужными вещами. Я 4 года кресты учил, сам, идейный был. В универе базу дали, а я потом самостоятельно десяток книг прочёл и кучу говна на них слепил. Но так и не вкатился, потому что вечное понимание что "я знаю что ничего не знаю". Проблема плюсов и сишки заключается не в сложности самого языка, а в сложности предметной области, где эти языки используются. И вот происходит эдакая подмена сложности языка на сложность предметной области, где такая мелочь как отсутсвие пакетного менеджера и нормальной системы сборки даже не заметны(хотя к пакетному менеджеру есть тоже тонна вопросов по безопасности и хранению пакетов) и разрабока зачастую не происходит в новомодном режиме, когда готовый продукт нужно было выпустить еще вчера.
>>2744869 >Я все жду пока гпт4 или продукт на его основе доведут до ума, и все эти знания, за которые по факту плюсовики и получают зарплату, можно будет дописать в резюме разве что как большой плюс. До появления полноценного ИИ о замене разрабов даже говорить не стоит. Все эти математические модели имеют свои ограничения и выполняют ровно то, ради чего они были созданы. В данном случае, конкретно для улучшения поисковых запросов.
>Именно языка, потому что пока какие-то мл ресерчеры просто берут питон, потому что он проще, и решают на нем задачи, фанбой Эм, а ты в курсе, что этот питон под капотом дергает библиотеки на Си и плюсах, которые написали сами МЛ ресерчеры? Питон там чисто как клей для сишного кода. Плюс в этой сфере по каким-то причинам не взлетел раст, хотя его туда активно проталкивали и писали кучу фреймворков.
>>2744893 >мы будем ПО для иксвингов писать. Обосрался. Софт для иксвинга либо на плюсах будет, либо на аде, либо на чем-то с верификацией вроде Coq-а(во что раст не могет). Хотя бы потому, что существуют коммерческие компиляторы и наработки, которые не зависят от желания СЖВ говна, которые обидные константы в духе "0xDEADBEEF" блокируют.
>>2744903 >А если бы без ебли с плюсам не вкатился бы в раст, ммм? Хз, на уровне понимания базовых вещей - скорее всего да, я же умный. >>2744903 >Все таки питон/веб макаки верещат о сложности раста и как раст "взорвал" их мозг, Ну так это не настоящие прогеры. Они услышали что где-то там есть курс после которого можно $2к заколачивать сидя дома вот и налетели как мухи. >>2744908 >Обосрался В кабине иксвинга? Ты ебанутый что ли? Тебе же пизда. >с верификацией вроде Coq-а Нихуя не понял зачем для написания софта верифицировать cock.
>>2744903 >Эм, а ты в курсе, что этот питон под капотом дергает библиотеки на Си и плюсах, которые написали сами МЛ ресерчеры Естественно, но людям похуй на то на чем оно там написано, они решают задачи, а не дрочат ньюансы инструмента. Я бы и сам с радостью на питоне писал, но в моей сфере не прокатит. Драйвера пишут с асм вставками, это не повод использовать асм вставки в своем коде, и тем более не повод писать на ассемблере. >До появления полноценного ИИ о замене разрабов даже говорить не стоит Ебать манямир, пройдет пол года и сетка будет без лимита на контекст и дообучаться за 15к$ под конкретную кодобазу, после чего штаб макак можно сокращать в половину. Какое же у крестовиков раздутое чсв это просто пиздец. Вот меня то точно не заменят Знаю конечно ты не мне отвечал, но это просто ахахахахах >Проблема плюсов и сишки заключается не в сложности самого языка, а в сложности предметной области, где эти языки используются Нет. Буквально, сложность в самих языках. Если бы на си можно было писать не отстреливая себе ногу на каждой второй операции, программистов на этой хуйне было бы раз в 5 больше. С нее ушли буквально как только появились какие-то здравые альтернативы, и даже сегодня она жива только потому что она простая как 2 копейки и имеет стабильное аби и простой манглинг. Я не вижу вообще ни одной причины писать игры или медицинский софт на С++, впрочем как и не видят разработчики Юнити и блюпринтов в UE. Как вообще можно говорить о какой-то сложной предметной области когда в одной из самых крупных компаний РФ программисты блять занимаются написанием микросервисов и перекладыванием жсонов на фреймворке пародирующем Go во всех аспектах кроме кроссплатформенности
Анончики, скажите, а есть ли такой инструментарий для анализа и исследования чужих исходников, чтобы я например мог получить в этих исходниках например список всех классов которые наследованы от нужного мне класса, или например список всех функций в аргументах которых идет нужный мне класс или в качестве возвращаемого значения? В VS нет ничего такого?
>>2744911 >Хз, на уровне понимания базовых вещей - скорее всего да, я же умный. А не пришлось бы убить 4 года на понимание этих вещей, но только с растом?
>Ну так это не настоящие прогеры. Чувак, твой раст развивается именно в сторону этих ненастоящих прогеров, а не в сторону байтоебства, потому что основная аудитория языка пришла из веба.
>Нихуя не понял зачем для написания софта верифицировать cock. Конечно, ты же умный. Алсо, при написании бортового ПО для боевых вертолетов Apache использовалась куча систем верификаций на всех уровнях.
>>2744938 >при написании бортового ПО для боевых вертолетов Apache использовалась куча систем верификаций на всех уровнях. Спасибо Coqпитан Очевидность.
>>2744916 >Естественно, но людям похуй на то на чем оно там написано, они решают задачи, а не дрочат ньюансы инструмента. Т.е. им похуй на чем написано, но продолжают писать хуеву тучу фреймворков на сишке, чтобы решить задачу, правильно понимаю?
>Какое же у крестовиков раздутое чсв это просто пиздец. Вот меня то точно не заменят >Знаю конечно ты не мне отвечал, но это просто ахахахахах Это не только к крестовикам относится, маня. Ты либо гопоту не трогал, которая на запрос, который хотя бы немного отличается от среднего запроса на СО, несет лютую хуйню, иногда придумывая что нибудь. Либо долбоеб с current things, который каждый год топит за новую вещь, которая точно в этот раз изменит мир. Сначала носились с квантовыми компами, потом с криптой, потом с виртуальной реальностью, а сейчас про нейросети вспомнили, которые используются уже десятки лет в серьезных областях и никто при них не бухтел, пока что соевым долбаебам не выкатили генератор аниме сисек и рерайтер ответов с СО.
>Я не вижу вообще ни одной причины писать игры или медицинский софт на С++, впрочем как и не видят разработчики Юнити и блюпринтов в UE. Сугубо экономическое решение, чтобы не только кодеры могли работать. Да и последние релизы показывают, что эти решения не пошли на пользу играм.
>нее ушли буквально как только появились какие-то здравые альтернативы Да? И какие же? В каких сферах?
>Как вообще можно говорить о какой-то сложной предметной области когда в одной из самых крупных компаний РФ программисты блять занимаются написанием микросервисов и перекладыванием жсонов на фреймворке пародирующем Go во всех аспектах кроме кроссплатформенности По-твоему поиковик в гулаге и электромобили на Говне написаны?
>>2744942 >Нихуя не понял зачем для написания софта верифицировать cock. >при написании бортового ПО для боевых вертолетов Apache использовалась куча систем верификаций на всех уровнях. >Спасибо Coqпитан Очевидность. Ясно. Ыыыы, ита была шутка
>>2744955 >Т.е. им похуй на чем написано, но продолжают писать хуеву тучу фреймворков на сишке, чтобы решить задачу, правильно понимаю? Все так, будет новый фреймворк на расте или ассемблере будут юзать его >Сначала носились с квантовыми компами, потом с криптой, потом с виртуальной реальностью, а сейчас про нейросети вспомнили, которые используются уже десятки лет в серьезных областях и никто при них не бухтел, пока что соевым долбаебам не выкатили генератор аниме сисек и рерайтер ответов с СО. Ебать тут проекции. Гопоту я трогал, я с ней работаю вот уже с пару месяцев, к сожалению без тюнинга под кодобазу не очеь полезно, но это исключительно вопрос времени. Джун с улицы после испыталки с гпт4/гпт5 будет настолько же эффективным как и мидл с трехлетним стажем в любой конторе, может даже более эффективным. Вкат станет еще проще, на собеседованиях начнут спрашивать не то сколько шаблонных параметров у шаред поинтера, а как задизайнить взаимодействие между сервером логов и основным приложением. Сказка, не знаю как можно быть против этого, разве что ты фанбой потративший пяток лет на выдрачивание стандарта >Сугубо экономическое решение, чтобы не только кодеры могли работать Именно, теперь даже не программисты или вчерашние вкатуны могут решать задачи, причем настолько сложные как разработка целых игр, а не блять отладка почему у тебя вектор от двух итераторов конструируется в std::vector<_Iterator_Base<_T>::value_type>> >Да? И какие же? В каких сферах? Джава в свое время для веб и мобильных приложений, сишарп для бэкэнда, плюсы для эмбеда, раст для приложений с повышенными требованиями к безопасности типо ОС и кодеков >По-твоему поиковик в гулаге и электромобили на Говне написаны? Нет конечно, Яндекс это целая фирма фанбоев типо гугла, там даже техлиды дают доклады почему они не перейдут на раст, глупо от них ожидать каких-то здравых решений типо использования Го. Они просто скопировали дизайн хорошего языка для своих сервисов, а теперь для перекладывания жсонов нужно знать не нормальный Го, а С++ в худших его проявлениях в виде меташаблонного ада компилирующегося 40 минут
>>2745000 Бля, чувак, сьеби в свой загон. У тебя в языке оменяют "обидные" константы, придумывают дегенеративные инклюзивные правила, используют лгбт новояз и срут политотой в ченджлогах компилятора с просьбой поддержать переворот в стране за океаном. Это просто пиздец. Такое ощущение, что языком управляют не инженеры, а политики, причем среднего пошива. Сука, о чем ты пришел нам рассказывать, если у вас из языка ушел один из основных разрабов за то, что ему на конференции не тот порядок выступления дали. Да вы же ебнутые. Нормальный человек никогда с вашим говном связываться не будет. Только хайпоманьки и криптоскамеры.
>>2745053 >я про раст говорил. Нихуя не понял при чём тут игра >Питон в виде склейки нормально подходит, а для большего его и не используют. Чел, плиз...
>>2740824 >Все что крупнее простых типов. Контейнеры тоже можно на стеке, но если они небольшие, а то не влезут. >Проблема стека - ограничение по размеру. Шиза ебаная, ты из 1998 капчуешь? стэк у него ограничен... Пару килобайтами чтли по-твоему?
>>2746206 >>2746210 >в стране за океаном майданят >все западные СМИ и ресурсы топят за нужную повесточку >ко-ко-ко, пожалуйста, посмотрите по этой ссылке и думайте только в нужную сторону Какого хуя это вообще должно быть в техническом проекте? Эти пидорасы собирают все current things, которые происходят, начиная с ковида и БЛМ. Вы уже настолько одебилившие, что не даже понимаете в чем проблема. Это как посреди книги Кнута по алгоритмам найти рекламу фермерской техники и мясорубки.
>>2746221 >Вы уже настолько одебилившие, что не даже понимаете в чем проблема Нет, дебилушка, мы то как раз всё понимаем. глбтэюя, блм, ковид - это хуйня из под коня и я с нетерпением жду момента когда их всех в лагеря начнут сгонять. С другой стороны война в Украине или животные которые прикрываясь религией творят что им угодно, дети, с пелёнок майнящие кобольт, торговля органами и прочая хуйня - о таком не молчат. Проблема только в том, что большинство таких упоминаний существуют только потому что таковы нынешние веяния в интернетах, а не потому что кому-то там, особенно из-за океана не похуй.
>>2746228 >С другой стороны война в Украине или животные которые прикрываясь религией творят что им угодно, дети, с пелёнок майнящие кобольт, торговля органами и прочая хуйня - о таком не молчат Пикрил. А может быть, если тебе не похуй, то пойдешь в СПЕЦИАЛЬНОЕ место и будешь там этим проблемы решать? В волонтерскую организацию, например, а не будете на сайте языка программирования этим говном срать? Я больше ни одного проекта не видел с такой хуйней, кроме веб-параши. Ну и выборка тем, которую нужно поддержать ВСЕГДА совпадает с основной повесточкой демократов. Что-то я не видел поддержку чуваков из Бангладеша, когда их придавило крышей обвалившегося завода, потому что корпорации было похуй на рабов. Умерли и умерли, чего бухтеть? 10$ в месяц заплатил и к тебе новое мясо набежало вещи шить и технику собирать. К чему такая избирательность? Может потому что это свои корпорации и свои люди, которое в том числе спонсируют и вас? Лицемерненько получается.
>>2746242 Я тебе буквально об этом пишу, хули ты слепой то такой? >Проблема только в том, что большинство таких упоминаний существуют только потому что таковы нынешние веяния в интернетах, а не потому что кому-то там, особенно из-за океана не похуй.
>>2746258 Ну так, а нахуй оно мне нужно на сайте технического проекта? Можно было бы закрыть глаза на это, если бы поддержка нуждающихся была бы их фишкой и то где нибудь в отдельном месте/на отдельной страничке, но нет, эти пидорасы показывают только то, что им спускают сверху и прямо в ченджлогах
В статье Metanit написано что long double имеет 8 бит для clang++, а для g++ 16 бит. Но когда я компилирую код с помощью mingw clang++ из msys2 то выходит тоже 16 бит. В чем дело ? Это из-за того что clang++ не чистый ?
>>2746624 Не бит, а байт. Там написано, на какой конкретно архитектуре, ОС и версии компилятора его запускали? И на винде есть какие-то нюансы с Clang, что он может работать не сам по себе, а в костыльной связке с GCC (т.е. MinGW).
>>2746624 > В статье Metanit написано что long double имеет 8 бит для clang++, а для g++ 16 бит Это очень хрупкая вещь и может отличаться даже на разных версиях компилятора, не стоит на это ориентироваться.
>>2747060 300 мб против 30гб, которые я пару лет назад установил с помощью инсталлера qt5. > Дебаг либы Я релиз поставил, не знаю зачем дебаг нужен. > Креатор вроде надо отдельно собирать. Спасибо, понятно, квест не закончен.
Есть несколько QTableWidget с одинаковым количеством столбцов, которые в гуе идут друг за дружкой. Какой самый простой способ сделать так, чтобы ширина столбцов этих таблиц была всегда одинаковая? То есть меняется ширина (от контента) столбца одной таблицы - меняется ширина этих же столбцов всех таблиц.
>>2747609 Унаследуйся от прости-господи тейблвиджета и добавь нужный функционал. То и значит. Повесь сигналы на какую нить функцию, которая будет везде ставить нужную ширину.
Ребят, что думаете про U++ фреймворк? https://en.wikipedia.org/wiki/Ultimate%2B%2B >но есть же qt Мне этот в кайф, плюс лицензия этого позволяет его статически линковать. U++ кажется удобнее.
>>2747686 >Ноунейм никому нахуй не нужная залупа скорее зис, но мне для моего проекта подошел из-за лицензии. Просто рекоммендую анонам, которым нкжен фреймворк со статической линковкой.
>>2691676 (OP) Ананасы есть тут кто-то занимающийся сложными вещами? Разработка движков, компиляторов, прошивок для сложного железа, драйвера и т.д? Расскажите сколько шли к успеху и нравится ли работа?
>>2747827 >Ушел от них уже? Да, перекатился в нейронки. >Сколько опыта? 3 года >Платили достойно или как рядовому прогеру? Для Турции неплохо, если смотреть по континенту - средне.
Анон, поясни, как std::queue и прочие списки работают в плане аллокации памяти. Я не понимаю, есть ли встроенные в язык механизмы, упрощающие поиск регионов памяти при выделении и освобождении.
Предположим, у меня очередь из std::vector, каждый вектор по 1024 байт. Я начинаю туда-сюда пихать в очередь данные и читать из нее, в среднем размер очереди 5 элементов. Наступает ситуация, что я сделал pop() 4 раза, в очереди остался 1 элемент.
Вопрос: когда я сделаю пуш вектора, может ли он разместится в уже ранее найденную область памяти? Будет ли эта процедура быстрой пиздец, или ОС будет тупить с поиском совершенно новой области в ОЗУ?
>>2748817 > Вопрос: когда я сделаю пуш вектора, может ли он разместится в уже ранее найденную область памяти? Почти 100%, но гарантий нихуя. > Будет ли эта процедура быстрой пиздец, С хорошей библиотекой да. > или ОС будет тупить с поиском совершенно новой области в ОЗУ? Ос только отдает куски памяти приложению в самом начале. Они обычно кэшируются библиотекой.
>>2748829 >>2748839 Меня смущает, что в многих примерах, где используются большие буфера и межпоточная синхронизация, применяется std::queue без каких-либо намеков, что это неэффективный подход.
Если бы я делал свою очередь для межпоточной синхры, я бы указывал в ней максимальную глубину и элементы бы размещал строго по аллоцированным в конструкторе регионам памяти. Моя реализация очевидна, и во взрослых библиотеках она должна присутствовать, но я не встречал прям точного указания, что аллокация в очереди новых элементов опирается на уже выделенные участки.
Мне нравится std::vector::reserve(), понятно его поведение и использование.
>>2748847 Падажжи бро. Во первых, у тебя не очередь, а вектор получился. У очереди есть фундаментальные отличия - константное время вставки удаления элемента. У тебя такого нет. Тебе нужна не очередь, а свой аллокатор, который уже внутри может быть устроен примерно так.
Сап котаны. Может кто-нибудь объяснить или хотя бы отправить где и что почитать про вывод/декодирование символов на экран.
Пример: я нажал клавишу, затем у меня в буфере RAM находиться код символа. Что происходит дальше? Я так понимаю, сейчас везде используется векторные преобразования? На каком уровне это делается: программно или аппаратно?
1.С каким уровнем знаний можно уже работать C++ разработчиком? То есть нужно знать базу C++ массивы, циклы, ооп и STL. Плюсом можно добавить знания 20 библиотек + какой-то DirectX и Qt. кста, дружочек нашел работу только со знанием базы плюсов, без стл и ооп))) сказали, что в процессе выучишь.
2.Обязательно ли имеет вышку для работы на плюсах? И возможно ли, что меня возьмет без нее, но со знаниями плюсов.
>>2751298 >1.С каким уровнем знаний можно уже работать C++ разработчиком? Зависит от компании >2.Обязательно ли имеет вышку для работы на плюсах? Зависит от компании 3. Какой лвл английского должен быть? Зависит от компании
Без шуток, на моей первой работе на джуна требовали знание С++ которое дают после одного семестра МухГУ. В яндекс на джуна даже С++ знать особо не надо, достаточно литкод загриндить. В нвидию на джуна нужно быть лучше пары тысяч индусов, в ресерч на джуна нужно иметь мат. базу, везде разные требования и зарплата Вышка лично в моей фирме не требуется, хотя недавно обновили договор и она там вроде как обязательный пункт. В прошлой аутсорсной галере о вышке даже не спрашивали. Про английский так же - если нужен английский то нужен, если не нужен то не нужен. Есть фирма аутсорс то нужен б2 и выше, если продукт то скорее всего б1 достаточно. В моей текущей фирме почти весь документооборот и взаимодействие происходит на русском, а на 3-х собесах которые я проходил в феврале просили 5-10 минуток поболтать на ангельском, после чего успокаивались. Всё зависит от твоих амбиций, хотя если ты в РФ я бы наверное пошел в Яндекс, там вроде бы зп более-менее
>>2754141 Потому что C++ почти полностью совместим с С, кроме некоторых мест, связанных, например, с регистровыми переменными, с некоторыми неявными преобразованиями, с ключевым словом restrict, с VLA массивами и ещё некоторыми другими вещами, о которых я забыл.
Есть структура. Она содержит два указателя о объект типа T. Мы кастомным(или стандартным) аллокатором аллоцировали память под неё. Конструктор мы не вызывали, то есть она в каком-то смысле неинициализирована. Мы можем взять указатели на все её поля, записать в них что надо и затем пользоваться структурой как будто бы она инициализирована? Я делаю просто свой лист и мне охота allocate делать структуры, а construct объекта типа T внутри неё. Потому что иначе мне надо у ноды делать разные конструкторы и в них как-то прокидывать набор аргументов для конструктора объекта T (в логике emplace_back)
>>2755753 Читаю сорсы стд и там так и делают. Нода аллоцируется генНоде методом. У ноды нет конструкторов но есть метод гетВалПтр который достает указатель на значение. И констракт делается уже по указателю на значение А что за гварды я не понимаю, и возможно тут и проблема.
Чото IOS треды все утонули видать, попробую тут спросить. Есть проект в Xcode преимущественно на плюсах. в дебагере строки(которые std::string) отображаются как Summary Unavailable. Я вообще не особо шарю во всем этом ios и xcode соответсвенно и какие-то норм настройки дебаггера не нашел, помогите как пофиксить? Стековерфлоу облази, но чото ничего релевантного не нашел особо.
Анон привет, как правильно работать с видео в qt? Есть камера с нее считываются raw кадры с частотой 40фпс. Я с считываю с помощью опенсв и запихиваю в QImage. Т.к считываются кадры в отдельном потоке на гуй передаю сигналом QImage и вывожу на обычный qlabel. Получается мало кадров, на вскидку меньше 20. Как вообще с видео работают в qt? Может кидать кадры в какой-нибудь буффер, а потом из буфера по таймеру ImageLabel->setPixmap ?
>>2764338 В плюсы вкатываться однозначно стоит. С++ - своеобразый лингва-франка от мира программирования сейчас, сменяя на этой роли классический си. Хотите описать алгоритм так, чтобы его поняли 90% хоть немного углубленных в эту сферу людей - пишите на плюсах. Это не математика, где нужны способности,чтобы решить задачу.Тут ежели не можешь - верный путь в учебники, а из них в разборы реализаций функций std для вашей системы. При достойном уровне понимания механизма работы вашего кода, последний сам складывается. Просто учить содержимое стандартной библиотеки, без понимания процессов есть очень странное решение. Почитайте про fstream, изучите,как он работает на вашей винде(что-то мне подсказывает,что у вас именно она), и сможете решать подобное не особенно задумываясь о составных частях алгоритма,думая лишь о нем в целости - о маштабируемости, об оптимизации. Я в вас верю.У вас все получитсяss
блядь, вот только у меня какая-то постоянно блядь неведомая хуйня случается, которая даже не гуглится блядь.... вот что это нахуй? cout просто не работает, при чем еще и ломает работу printf после себя. исходник iostream https://pastebin.com/XyvFywV1 исходник ostream https://pastebin.com/rqezWtaX
>>2770805 сейчас заметил что программа выполняется корректно только в msys среде, где я собственно и ставил clang. переменные сред все указаны в винде (на прошлом видео видно как программа компилируется успешно из под cmd).
давно помню аналогично через msys ставил clang 11.0 версии, так же компилировал и запускал из под винды, все работало ок. сейчас хз в чем дело...
>>2770805 >>2771129 >>2771144 блядь пиздец... оказывается у меня было 2 дллки libstdc++-6.dll в переменной среде PATH: C:\Program Files\Git\mingw64\bin\libstdc++-6.dll C:\msys64\mingw64\bin\libstdc++-6.dll и судя по всему при каждом запуске программы из под cmd, она обращался к гитовской, которая не работала как надо. я удалил ее из PATH, запустил свой хелоу ворлд из cmd и все заработало. но это хуйня какая-то костыльная выходит. как это нормально теперь решить?
Господа плюсячеры, а как правильно const готовить?
Утрированный пример: вот есть у меня массив, и я хочу сделать к нему ArrayView, который внутри указатель на массив хранит и определяет operator[], чтобы я мог к массиву обращаться по индексу. Я хочу иметь возможность: - сделать ArrayView от обычного массива, тогда [] возвращает обычную или const ссылку - сделать неизменяемый ArrayView от const массива, тогда [] возвращает const ссылку - использовать обычный ArrayView везде, где можно использовать const ArrayView, в том числе и по ссылке - не дублировать код, а то вдруг [] имеет сложную реализацию
Я сделал несколько вариантов, но успеха так и не добился. А еще они воняют.
>>2772318 Допустим, а как иерархию const -> mutable организовать? Можно конечно делать reinterpret_cast тк поля все равно одинаковые, но этож вроде как не хорошо и не по сиплюсплюсному
>>2772474 нет, смотри, я тебе разобраться помогу. реальность такова, что ты даун 20 айкушный, и не понял для чего принтф был использован. а так же ты тред перекатывать не умеешь, не обосравшись. вот это реальность. пиздец, чет тебя аж даже жаль стало. представляю как тебе хуево живется. ну ты голову не опускай главное, может еще выйдешь в люди
Есть QTableWidget, у которого в некоторых ячейках используются cellWidget. Как мне сделать swap строк таблицы? Мне нужно двигать строки вверх вниз. В Qt нет готового swap ни для QVector, ни для QTableWidget. Когда сам попробовал вручную менять местами содержимое строк, начало вылетать с segmentation fault хер пойми откуда, даже в стеке вызовов не показывает, откуда. И связано именно с cellWidget, когда я добавляю строчку, где cellWidget записывается в ячейку таблицы, то вылетает. А если закомментить строчку, то нет.
⚹ https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/
Ответы на вопросы:
⚹ https://en.cppreference.com/w/
⚹ https://www.cplusplus.com/reference/
Для указателей: ⚹
Прошлый тред: