Сохранен 807
https://2ch.hk/pr/res/2938659.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

C++ thread #145 /cpp/

 Аноним 27/11/23 Пнд 00:55:06 #1 №2938659 
.jpg
.jpg
.png
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

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

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

Прошлый тред >>2847323 (OP)
Аноним 27/11/23 Пнд 09:14:39 #2 №2938776 
16818090607590.jpg
перекатился
Аноним 27/11/23 Пнд 12:28:35 #3 №2938998 
есть хуйня в cmake:

target_link_libraries(nrj wsock32 ws2_32 -static-libstdc++)

есть хуйня в main():

int main(int argc, char* argv[]) {
std::cout << "ertert" << std::endl;
}

Добавляем SDL2:

set(SDL2_PATH "${CMAKE_SOURCE_DIR}/external/sdl")
set(SDL2_DIR "${SDL2_PATH}/cmake")
find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIRS})
target_link_libraries(nrj ${SDL2_LIBRARIES} wsock32 ws2_32 -static-libstdc++)


И нет никакого вывода в консольку при запуске. Запустилось, послало нахуй и даже не вышло.
Почему?
Аноним 27/11/23 Пнд 12:30:17 #4 №2939003 
>>2938998
и компиляю я msys+mingw+clang
Аноним 27/11/23 Пнд 12:36:34 #5 №2939010 
>>2939003
sdl кстати ёбнутый, потому что делает так:
#define main SDL2_main
Зачем - не знаю. Но ясно, что они где-то изъебнулись
Аноним 27/11/23 Пнд 18:07:09 #6 №2939722 
Есть каталог, куда сыпятся файлы.
Хочется в несколько потоков эти файлы обрабатывать.
Как лучше всего организовать конкурентный доступ?
Аноним 27/11/23 Пнд 23:06:39 #7 №2940242 
>>2939722
Каким-нибудь потоком watcher подпишись на изменения каталога через какой-нибудь аналог fsnotify для своей ОС, складывай имена новых файликов в какую-нибудь очередь, а какие-нибудь потоки worker'ы пусть их берут из очереди и обрабатывают конкурентно
Аноним 27/11/23 Пнд 23:07:16 #8 №2940243 
>>2939010
Точка входа это называется. Они бывают разными, ВНЕЗАПНО.
Аноним 27/11/23 Пнд 23:19:45 #9 №2940252 
>>2938659 (OP)
Какой удел более нигерский? Копаться в кишлаках битов, или навозе из абстракций?
Аноним 27/11/23 Пнд 23:21:26 #10 №2940254 
>>2940242
>fsnotify
Спасибо, то что нужно.
Аноним 27/11/23 Пнд 23:22:09 #11 №2940255 
>>2940252
Шо то, шо это, если за мелкий прайс.
Если норм платят - хоть джсоны вилкой чистить.
Аноним 27/11/23 Пнд 23:30:49 #12 №2940263 
>>2940255
Поддерживаю. Хотя при равных лучше байтосерить.
Аноним 27/11/23 Пнд 23:49:36 #13 №2940288 
>>2940255
Вот именно, а на жопаде почему то форсят что спп нигерский язык ебать.
Аноним 27/11/23 Пнд 23:56:16 #14 №2940298 
>>2940288
Ниасиляторы рвутся
Аноним 28/11/23 Втр 00:07:38 #15 №2940310 
>>2940298
/thread
Аноним 28/11/23 Втр 00:21:24 #16 №2940325 
>>2940288
Где?
Аноним 28/11/23 Втр 08:15:37 #17 №2940405 
>>2940298
рвуться к власти!
Аноним 28/11/23 Втр 10:37:51 #18 №2940496 
мимовкатун
а нет в стд:: функции для преобразования хекс строки в unsigned int?
Аноним 28/11/23 Втр 10:51:05 #19 №2940503 
>>2940496
stoul
Аноним 28/11/23 Втр 11:24:34 #20 №2940541 
Мой тупой препод байтоеб
как же он заебал со своей тряской над памятью

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

чтоб ему сука яйца отсохли вместе с мозгом

показываешь работу: мммм ну я бы так не сделал, ой ну тут в иф условии оно тратит память

ТЫ БЛЯТЬ НЕ ДАЛ ДАЖЕ ТЕОРИТИЧЕСКОЙ ОСНОВЫ С КОТОРЫЙ МЫ ДОЛЖНЫ РАБОТАТЬ ЕЩЕ И ЖАЛУЕТСЯ ПРО ПАМЯТЬ
ДЕГЕНЕРАТ СРАНЫЙ
Аноним 28/11/23 Втр 13:04:16 #21 №2940676 
>>2940541
Нажалуйстесь на него вышестоящим, скажи ему что пока он не предоставит теоретических основ, то делать ничего не будешь, старый совковый пидор просто самоутверждается за ваш счёт, это пассивная агрессия копросовка жившего возле параши.
Аноним 28/11/23 Втр 13:08:23 #22 №2940677 
>>2940541
Скажи ему что ресурсы процессора важнее памяти
Аноним 28/11/23 Втр 13:09:16 #23 №2940679 
>>2940541
>>2940676
Хуя полуграмотная дегродина сгорела.
Аноним 28/11/23 Втр 13:10:49 #24 №2940681 
>>2940676
>Нажалуйстесь
Народили соевых снежком из говна. Зачем учиться, когда можно нажаловаться на учителя и получить автомат.
Аноним 28/11/23 Втр 13:18:45 #25 №2940689 
>>2940679
>>2940681
Хуй изо рта вытащи скотина матриархальная идентичная совковому.
Если препод такой блядь умный то пусть демонстрирует допустимую вариативность на примерах, или пусть сосёт зумерский хуй.
Аноним 28/11/23 Втр 13:28:49 #26 №2940703 
>>2940679
>>2940681
Маняграмотный пришёл рассказать зумеркам как надо голову в унитаз правильно мокать.

Тот старый пидор сам не знает нихуя и просто дрочит понакатаной, не имея никакой фундаменталки за спиной, либо просто мразь которая отказывается от доброжелательного предоставления инфы.
Аноним 28/11/23 Втр 13:33:48 #27 №2940714 
>>2940676
Да, пусть распишет вариативность исполнения с различной оптимизацией по памяти по времени по небу аллаху по количеству строк кода и хуйне малафье. Пусть научит думать в этой плоскости, и отрывать иногда свою жопу для расписывания на доске и ниписания гайдов в электронном.
А то был у меня один такой вумный старый инфантил правда недолго и не правда, всё истории травил, падла, а знаний никаких.
Аноним 28/11/23 Втр 13:34:45 #28 №2940718 
>>2940714
>по количеству строк кода
*количеству символов
Аноним 28/11/23 Втр 13:54:00 #29 №2940760 
Копросовок >>2940679 >>2940681 замолк, почувствовав вкус зумерской залупы.
Аноним 28/11/23 Втр 14:29:14 #30 №2940826 
Спасибо за перекат, дебил блять.
И нахуя это залетное говно здесь нужно?
Аноним 28/11/23 Втр 14:52:35 #31 №2940856 
>>2940826
Это не твой любимый пидорский аниме чатик, не нравится, вали нахуй
Аноним 28/11/23 Втр 18:29:05 #32 №2941303 
>>2940856
Вот именно, какого хуя здесь делает это залетное говно?
Аноним 28/11/23 Втр 18:36:02 #33 №2941312 
>>2941303
>жалкие визги опущенного
Аноним 28/11/23 Втр 19:59:14 #34 №2941431 
Сап. Не могу найти годный вариант чтоб взять файлы из папки и шибануть одним архивом в другую директорию. Не привлекая сторонние библиотеки (включая рабочие только на 17 версии) это можно как-то реализовать? Хотя бы только с windows.h.
Аноним 28/11/23 Втр 20:01:20 #35 №2941440 
>>2941312
Так перестань визжать
Аноним 28/11/23 Втр 20:03:58 #36 №2941448 
>>2941431
Почему такая категоричность к либам?
Если все решишь - zlib.
Аноним 28/11/23 Втр 20:19:48 #37 №2941462 
>>2940503
>stoul
пасиба
Аноним 28/11/23 Втр 20:30:51 #38 №2941483 
>>2941440
>залетный куклодаун спутал свой загон
Аноним 28/11/23 Втр 20:38:39 #39 №2941487 
>>2938659 (OP)
Хочу прокачаться в программировании и опуститься на уровень ниже, сейчас пишу на джаве и жсе, самоучка. Я же могу начать с плюсов без знаний си?
Аноним 28/11/23 Втр 20:47:03 #40 №2941498 
1695208315823369.png
>>2941487
Опустись на дноассемблер лучше. У меня даже книжка для тебя есть, собака ебучая, JONATHAN BARTLETT - LEARN TO PROGRAM WITH ASSEMBLY FOUNDATIONAL LEARNING FOR NEW PROGRAMMERS. Там под х64 асм, повествование повторяет Programming from the ground up.
Аноним 28/11/23 Втр 21:08:53 #41 №2941526 
>>2941487
Ну тут мнения разделятся.
Кто то считает плюсы отдельным языком, которому изучение С вредит.
Кто то наоборот.
Но если ты действительно хочешь вниз - это С.
Кресты немного не про низ.
Аноним 28/11/23 Втр 21:40:08 #42 №2941568 
>>2941431
ответ будет зависеть от того, что ты подразумеваешь под архивом, обычный архив или сжатый, и второй пункт, начиная с какой версии винды ты хочешь чтобы работало твое решение
Аноним 28/11/23 Втр 21:41:17 #43 №2941573 
>>2941448
предположу что это очередной мамкин хакер
Аноним 28/11/23 Втр 21:43:26 #44 №2941577 
>>2941487
Посоветую не распылять свои силы и сосредоточится на одной яве.
Аноним 28/11/23 Втр 21:47:47 #45 №2941582 
>>2941487
Можно, всё равно большую часть C объясняют в первых главах любой книги про плюсы.
Аноним 28/11/23 Втр 21:53:38 #46 №2941586 
>>2941487
> Я же могу начать с плюсов без знаний си?
Конечно нет, плюсы не существуют без си
Поэтому в каждой книге по плюсам, тебе заодно и си объяснят
Аноним 28/11/23 Втр 22:08:36 #47 №2941597 
>>2941573
Zlib и zstd это вообще базейшая база.
Аноним 28/11/23 Втр 23:12:46 #48 №2941658 
Молю, ананасы, помогите, я уже начинаю гореть. Как заставить ебаный clangd видеть ебучие стандартные плюсовые и не очень библиотеки? Что прописать этому еблану в compiler_commands? iostream не видит, string не видит, сука sdl2 зато видит.

Mac OS, neovim, сраный coc.nvim и coc-clangd

За мат извени ,третьи сутки потею уже над этим, подскажите как сделать, это пиздец.
Аноним 28/11/23 Втр 23:13:16 #49 №2941659 
Молю, ананасы, помогите, я уже начинаю гореть. Как заставить ебаный clangd видеть ебучие стандартные плюсовые и не очень библиотеки? Что прописать этому еблану в compiler_commands? iostream не видит, string не видит, сука sdl2 зато видит.

Mac OS, neovim, сраный coc.nvim и coc-clangd

За мат извени ,третьи сутки потею уже над этим, подскажите как сделать, это пиздец.
Аноним 28/11/23 Втр 23:13:43 #50 №2941660 
Молю, ананасы, помогите, я уже начинаю гореть. Как заставить ебаный clangd видеть ебучие стандартные плюсовые и не очень библиотеки? Что прописать этому еблану в compiler_commands? iostream не видит, string не видит, сука sdl2 зато видит.

Mac OS, neovim, сраный coc.nvim и coc-clangd

За мат извени ,третьи сутки потею уже над этим, подскажите как сделать, это пиздец.
Аноним 29/11/23 Срд 00:14:16 #51 №2941702 
>>2941658
>>2941659
>>2941660
Этот вкатывальщик под спайсами, не отвечайте ему.
Аноним 29/11/23 Срд 00:26:26 #52 №2941709 
>>2941702
Да я уже понял, что никакого полезного ответа тут найти нельзя будет, нахуй писал я не знаю, на что надеялся — тоже
Аноним 29/11/23 Срд 07:34:00 #53 №2941783 
>>2941660
У тебя компилятор установлен?
Аноним 29/11/23 Срд 09:46:58 #54 №2941827 
у него мак вместо компьютера сам сделал выбор пусть теперь ебется как хочет
Аноним 29/11/23 Срд 10:18:28 #55 №2941847 
Как же нищенки бомбят с Макобога.
Аноним 29/11/23 Срд 10:36:45 #56 №2941859 
>>2941847
Как же магобог горит со своей тупости
Аноним 29/11/23 Срд 10:39:51 #57 №2941862 
Посоветуйте идею для небольшого проекта для наработки навыков.
Аноним 29/11/23 Срд 10:41:52 #58 №2941864 
>>2941862
Простой мессадж брокер
Аноним 29/11/23 Срд 10:41:57 #59 №2941865 
image.png
>>2941847
Почему макобок не может себе нанять слугу-сисадмина?
Аноним 29/11/23 Срд 10:43:44 #60 №2941870 
>>2941864
А как это делается?
Аноним 29/11/23 Срд 10:56:12 #61 №2941891 
>>2941870
Делаешь сложный месадж брокер, потом упрощаешь

Посмотри на redis например.
Сделай однопоточный in-prosess kv-storage, который умеет только set/get для строк. Потом для списков.
Потом добавь mset/mget.
Потом сделай его многопоточным.
Потом добавь publish/subscribe.
Потом сделай его сетевым.
Ну и тд.
Аноним 29/11/23 Срд 10:58:09 #62 №2941894 
>>2941864
Посмотри как примерно устроена Кафка, сделай похожее, но сильно попроще.
Разберёшься с многопоточкой, хттп, синхронизацией доступа, бустом асио, бист, прог опт. Можешь ещё бд и логи привязать дядь прикола.
Но это нихуя не маленький. На пару недель, может месяц работы, и не подойдёт если ты совсем зелёный.
Ну и консумеров продюсеров сообщений тоже придется написать, но после этого это будет изи.
Аноним 29/11/23 Срд 10:59:18 #63 №2941896 
Вот это чел явно шарит в них лучше меня, его слушай.
>>2941891
Аноним 29/11/23 Срд 11:49:05 #64 №2941963 
1.png
Ваши рабочие проекты выглядят так же, как говно? Хочу понять, что меня ждет, если я вкачусь на работу на C++. А то может лучше переучиться на сисадмина? Я перфекционист и меня корежит от говнокода.
Аноним 29/11/23 Срд 11:52:01 #65 №2941972 
image.png
зачем...
Аноним 29/11/23 Срд 12:04:01 #66 №2941994 
>>2941963
Ну у меня ещё хуже.
А про архитектуру я вообще молчу
Аноним 29/11/23 Срд 12:36:23 #67 №2942047 
>>2941783
Да все установлено. Вот на днях в вскоре делал проект, решил обратно на вид пересесть, потратить. Короче как я понял clangd не может разделить где искать библиотеки. Проблема в том, что я попробовал все, какие только мог, директории, толку ноль. Ну sdl2 из фреймворков подхватывает и все. А стандартные библиотеки внезапно не видит.

Попробовал YCM вместо coc.nvim, все то же самое. Но теперь надо не compile_commands заполнить, а какой-то Пайтон-скрипт в корне проекта. Что туда писать я еще не разобрался.
Аноним 29/11/23 Срд 12:39:04 #68 №2942053 
>>2941827
Ты долбоеб. Мб посоветуешь какую-нибудь ОС, где не придется ебаться с какой-нибудь очередной херней? На винде? На линуксе? На бсд? Нет? Вот и иди нахуй, еблан.
Аноним 29/11/23 Срд 12:39:54 #69 №2942056 
>>2942047
в вскоде*
Аноним 29/11/23 Срд 12:52:42 #70 №2942084 
>>2942053
>На винде?
This
Просто ставишь студию и РАБотаешь
Аноним 29/11/23 Срд 14:04:16 #71 №2942178 
>>2942084
> Студию
Либо ты пишешь только под Винду, либо калоед.
Да и как IDE - перегруженное говно.
Аноним 29/11/23 Срд 15:01:14 #72 №2942270 
>>2942178
> Либо ты пишешь только под Винду
Пишу спокойно не только под винду

> Да и как IDE - перегруженное говно
Как будто альтернативы есть
Аноним 29/11/23 Срд 15:23:47 #73 №2942337 
>>2938659 (OP)
Каковы шансы освоить с++ самостоятельно как первый язык программирования? какая последовательность действий?
Аноним 29/11/23 Срд 15:27:07 #74 №2942347 
>>2942270
Vscode с плагинами
QtCreator даже в отрыве от кути достаточно удобный.
Аноним 29/11/23 Срд 15:27:39 #75 №2942354 
>>2942337
Прежде всего: сделать бочку
Аноним 29/11/23 Срд 15:45:19 #76 №2942387 
>>2942347
намного меньше фичей и все надо чинить самому
как тому анону у которого clangd не работает
Аноним 29/11/23 Срд 15:50:23 #77 №2942409 
>>2942387
Какие фичи тебе нужны?
Аноним 29/11/23 Срд 15:56:30 #78 №2942426 
>>2942409
дебаггер, профайлер, не подыхать в проектах с несколькими миллионами файлов

это как минимум
Аноним 29/11/23 Срд 16:03:45 #79 №2942450 
>>2942426
По дефолту не стоят кром гдб, надо ставить самому и указывать пути.
Аноним 29/11/23 Срд 17:50:42 #80 №2942677 
Merry Christmas. Rias ! 1 [ERBIEK🔞].jpg
>>2938659 (OP)
Перекатился. Передал аргументы, передал аллокатор, компаратор и делитер. Подписался.
Аноним 29/11/23 Срд 18:56:07 #81 №2942823 
>>2942426
>дебаггер, профайлер
просто используешь отладочный вывод, как делают гугловские полубоги в проэкте "хром" а еще они исключения не используют пользуясь двухэтапной инициализацией лол
бери пример с лидеров отрасли
Аноним 29/11/23 Срд 19:16:47 #82 №2942906 
>>2942823
Ну не использовать исключения это достаточно распространенный подход, в куте тоже не принято использовать исключения.
Аноним 29/11/23 Срд 19:54:06 #83 №2942983 
>>2938998
add_executable

// ебаный пиздец у тебя, ну почитай по симейку что нибудь, он с плюсами навсегда и так или иначе придется разобраться
Аноним 29/11/23 Срд 19:58:52 #84 №2942984 
>>2941963
Что бы мне эти 50 строчек какой хуйни должны сказать? Обычный код, который можно чуть править по мелочи вроде цикл на range-based заменить.
Говнокода ты еще не видел блять, обычно это происходит когда диды сишники высирают что то либо какие нибудь вученые дата сатанисты
Аноним 29/11/23 Срд 19:59:30 #85 №2942986 
есть ли смысл в 2к23 смотреть в сторону зпп цэпэпэ
Аноним 29/11/23 Срд 20:05:23 #86 №2942994 
>>2942986
Плюсы используются либо очень компетентными людьми, которые давно в профессии и им похер на язык, те твой вопрос максимально дебильный, либо всякими заводчанами и кутешными обезьяньими формошлепами такие которые в МВП треде сидят.
Первые уважаемые 700к господа в бигтехе, вторые макаки за соротыжку в нии хуи и прочем кале.
Можешь благодарить, я сэкономил тебе жизнь, но не слишком сильно
Аноним 29/11/23 Срд 20:06:20 #87 №2942995 
>>2941862
Трассировщик лучей или традиционный софтвер-рендерер
Интерпретатор языка Х
Текстовый редактор
Шахматы и змейки
Клиент и сервер хуйни
Эмулятор процессора MOS 6502
Аноним 29/11/23 Срд 20:10:49 #88 №2943003 
>>2942994
всё по теме, премного благодарен, пойду дальше.
Аноним 29/11/23 Срд 20:44:23 #89 №2943030 
>>2942994
Удвою, все так.
Сейчас нахожусь в состоянии перехода с формошлепства на кутях в бигтех. Страшно пиздец.
Аноним 29/11/23 Срд 22:05:21 #90 №2943091 
>>2942995
вот ты прав

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

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

Конечно тут совсем другой уровень будет, полное его отсутствие.

Хотя уверен, что фанатов и сейчас хватает.
Аноним 29/11/23 Срд 23:59:28 #91 №2943283 
1.png
Я хакир или нахер?
Аноним 30/11/23 Чтв 07:00:23 #92 №2943403 
>>2942986
по сравнению с другими яп - нет, и, пожалуй, это будет лучший совет который можно дать человеку который находится на пороге выбра специализации карьеры
Аноним 30/11/23 Чтв 07:23:43 #93 №2943406 
>>2942337
читаешь k&r, от корки до корки, обязательно делаешь упражнения, перечитываешь приложение А где дано формальное определение языка раза 3-4
потом уже можешь начать с++ изучать по другим книгам или онлайн-курсам, почему бы нет
Аноним 30/11/23 Чтв 08:48:33 #94 №2943427 
image.png
>>2943406
>обязательно делаешь упражнения
И сидишь полгода на вступлении, делая "небольшое" учебное упражнение. Бро, не будь идиотом, скипай эту хуйню нахуй. Практику на реальных петах наберешь, а не на этой юзлес консольке.
Аноним 30/11/23 Чтв 09:49:02 #95 №2943448 
>>2943427
Удвою.
Плюс на пикче оч простые задачи, если их делать на питоне том же.
Аноним 30/11/23 Чтв 10:05:48 #96 №2943459 
>>2943448
>оч простые
Тебе кажется. Хотя бы лишь потому, что есть такая прекрасная штука как #define со всеми вытекающими.
Аноним 30/11/23 Чтв 11:09:21 #97 №2943512 
Сап, плюсач. Такой вопрос интересует - а насколько кресты будут актуальны в будущем?

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

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

Сам я хочу байтоебить и делать квейкоподобные движки, и инструменты к ним.
Аноним 30/11/23 Чтв 12:12:59 #98 №2943567 
>>2943512
>а насколько кресты будут актуальны в будущем?
так же и будут, риалтаймовые как писали на с/с++ так и будут, ну раст еще может добавится со временем.
Аноним 30/11/23 Чтв 12:59:14 #99 №2943655 
>>2943427
Для K&R есть книжка с решениями, в том числе в переводе.
И есть https://clc-wiki.net/wiki/K&R2_solutions с решениями всех задач, часто предлагается несколько вариантов решения и обсуждение.

>И сидишь полгода на вступлении
После Липпмана выдрочил всю K'n'R за неполных два месяца
Не надо ни в коем случае на пол года впадать в заёбы на второстепенных вещах.
Доопредеил задачу исходя из своего видения, пробуешь решить. Решил - сравни свое решение с интернетами. Не решается - попробуй нагуглить решение. Не гуглится - берешь и как можно более конкретно локализуешь, в чем именно состоит твое затруднение. Записываешь эту трудность себе в блокнотик и спокойно двигаешься дальше, ты уже молодец, что знаешь чего именно ты не знаешь.

С задачками по плюсам все еще хуже. Язык сложнее, решения в интернетах если и есть, только для малой части задачек и сомнительного качества.
У того же Страуструпа вообще "правило приличия" такое, что задачи его хронически недоопределены. Нихуя вообще не понятно чё он хочет и куда он клонит.
У Липпмана тоже много таких недоопределенных задач. Но у него кроме задач есть еще контрольные вопросы с ответами и упражнения для прояснения и закрепления пройденного материала. Это именно классический учебник.
У Праты задачки простые. Но они и столь же бесполезны, сколь и просты.
Аноним 30/11/23 Чтв 17:06:56 #100 №2943990 
>>2938659 (OP)
Друзья, я студик, делаю лабу.
Есть траблы в настройкой среды для проекта(использую visual studio code).
Лаба находится на гите, я уже скопировал реп и создал доп ветку(помимо master). В лабе используют Cmake. Cmake я накатил в visual studio code. В репе есть cmake файлы. И вопрос, а как понять, мой проект собирается по cmake или нет? (я до этого никогда не работал с этим)
Аноним 30/11/23 Чтв 17:25:48 #101 №2944030 
>>2943990
Если он собирается - значит с СМаке.
Аноним 30/11/23 Чтв 17:32:30 #102 №2944042 
>>2944030
Не собирается, пишет, что отсутствует исполняемый файл(.exe).
Я как понимаю это значит без cmake.
еще выводит сообщение, что неизвестное обращение к winform.
Аноним 30/11/23 Чтв 17:39:50 #103 №2944068 
>>2944042
Vscode сам бтв предложил мне забилдиться под видимый cmake файл(а как делать это руками я не понял).
Аноним 30/11/23 Чтв 18:19:13 #104 №2944187 
>>2943512
у с++ нет будущего, это язык прошлого
Аноним 30/11/23 Чтв 18:24:21 #105 №2944205 
>>2943990
ваша ошибка заключается в том что вы почему то думаете что здесь сидят какие то "друзья"
Аноним 30/11/23 Чтв 18:38:18 #106 №2944263 
>>2944042
cmake .
cmake --build .
Аноним 01/12/23 Птн 10:16:13 #107 №2944808 
>>2944187
всегда было интересно, чем должны обладать языки будущего?
Аноним 01/12/23 Птн 10:46:12 #108 №2944840 
>>2944808
Хорошей маркетинговой машиной и собственной сектой, очевидно же. Вот всю жизнь самые крутые, быстрые и сложные штуки делались на языке Х, а тут появился язык У и сразу же за пару лет "убил" язык Х. в голове душевнобольных
Аноним 01/12/23 Птн 11:03:52 #109 №2944860 
>>2944840
У программирования нет будущего, оно дохнет.
Аноним 01/12/23 Птн 11:20:28 #110 №2944878 
>>2944860
Интересно и почему же?
Аноним 01/12/23 Птн 11:26:25 #111 №2944882 
>>2944878

Из за старых пердунов стандарты говнящие
Аноним 01/12/23 Птн 11:56:34 #112 №2944916 
>>2944882
Не осилил концепты и ренжи, да?
Аноним 01/12/23 Птн 12:58:14 #113 №2944969 
>>2944916
А ты модули уже осилил?
Стандартная библиотека все ещё осилить их никак не может
Про симейк вообще молчу
Аноним 01/12/23 Птн 13:09:20 #114 №2944982 
>>2944882
А что не говнящие? Ты можешь показать эти дидам как нужно делать. Я уверен, что они даже сами не против будут.
Или у тебя горит, что кто-то ДЕЙСТВИТЕЛЬНО занимается серьезным трудом, а не тяп-ляп срет, а потом убегает в другое место?
Аноним 01/12/23 Птн 13:28:19 #115 №2944999 
>>2944982
>тяп-ляп срет, а потом убегает в другое место
Есть слово "инфоцыган". Не уверен какое у него значение, но отлично подходит как раз для таких "кочевников информационных технологий", которые не сидят на месте, а прыгают с работы на работу как натуральные цыгане кочуют. И такие же хитрожопые мошенники разводящие на деньги, чтобы съебаться и развести еще кого-нибудь. И вот такую бродячую шваль реально пропагандируют как стиль жизни и успех. Ну не пиздец ли. Какое программирование может быть у таких отбросов? Лично видел, работает языком как боженька, треплет как медом в уши льёт, только руками нихуя не делает, получает огого-бабло за свой важный уверенный вид, чтобы съебать на другую работу через год. Вот кого я зову ифоцыган, бродяга айти.
Аноним 01/12/23 Птн 13:56:32 #116 №2945026 
>>2944969
Ну вот как осилят, так и я осилю.
В модульном связывании не много сложного, просто заучить параметры видимости.
Аноним 01/12/23 Птн 14:06:36 #117 №2945030 
>>2944999
Кабан кабыныч, ну палитесь...
Аноним 01/12/23 Птн 15:08:15 #118 №2945140 
>>2938659 (OP)
Я не люблю культ раста. Зачем форсят раст? Мне больно. Я питонист.
Аноним 01/12/23 Птн 16:17:07 #119 №2945233 
>>2945140
А тебе то что? Это нас обычно хоронят им.
Аноним 01/12/23 Птн 18:47:35 #120 №2945516 
>>2944808
ну в отдаленое будущее заглядывать бесполезно, но пока, к примеру, есть такая тенденция что яп должен проектироваться так что его компилятор/интерпетатор должен уметь или давать инструментальный доступ к собственным потрохам, к ast и прочему, что позволит уже на основе этого оче быстро запиливать ide, редакторы, отладчики, и кучу других утилит, в общем все окружение языка
Аноним 01/12/23 Птн 21:30:31 #121 №2945903 
>>2945140
>Зачем форсят раст?
Важно не что, а кто. Используются линуксоиды, как и осталные современные маргиналы типа пидоров, как моб для продвижения любой повестки. Маргиналы же тупые и обиженные, а на обиженных как известно воду возят, заливают любое говно им в уши, а те и рады и бегут орут всем надоедают этой парашей.

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

Да и вообще, самое простое правило, если что-либо форсят пугалками "уязвимостей", это сразу анальный зашквар гулага, ибо самая тупая и стандартная корпоративная методичка. Кто на этот сёр повелся, значит безмозглый дрон, либо холуй корпораций на зарплате.
Аноним 01/12/23 Птн 22:18:08 #122 №2945971 
>>2945903
>если что-либо форсят пугалками "уязвимостей"
Амудепарашу форсили пугалками уязвимостей Интела. Получается, говномуда принадлежит гуглу?
Аноним 01/12/23 Птн 22:50:55 #123 №2946022 
>>2945140
Форси Mojo. Делай культ Mojo. Насмехайся над ржавыми и приплюснутыми, мол, моджа по удобству и простоте уделает их, не уступая по скорости.
Аноним 02/12/23 Суб 03:35:45 #124 №2946256 
>>2945903
Хехе, ещё один неосилятор
Аноним 02/12/23 Суб 07:49:45 #125 №2946280 
>>2945903
У деда уже все смешалось в голове: гугл с мозилой, пидоры с линуксоидами, раст с голангом. Деменция она такая...
Аноним 02/12/23 Суб 07:59:02 #126 №2946283 
Как же плохо, что в крестах нет экстеншенов...
Аноним 02/12/23 Суб 08:22:40 #127 №2946284 
>>2946283
Это что
Аноним 02/12/23 Суб 08:46:28 #128 №2946287 
>>2946284
наверно он имеет ввиду возможность открыть любой класс в месте использвания и напихать туда чё хошь.
Аноним 02/12/23 Суб 09:01:44 #129 №2946289 
>>2946287
но в плюсах это наверно не нужно, так как есть множественное наследование
Аноним 02/12/23 Суб 09:10:58 #130 №2946290 
>>2946289
хотя и наследование и миксины и екстеншены это все говно ненужное и признак говнокода.
Аноним 02/12/23 Суб 11:36:33 #131 №2946342 
>>2946280
Это называется мудрость - видеть общие черты у того что не названо одинаковым словом. Важны не слова, а суть вещей, настоящее положение дел, а на словах можно трепать что угодно, реальность от этого не меняется. Наоборот по тому что пиздят враньё видно кто чего добивается, где настоящий рак и говно. Очевидно, что "линукс сообщество" это обычный филиал "сообщества пидоров лгбт", та же самая группа обоссанцев, которыми помыкают большие дяди ради своих грязных целей - всё хорошее загадить и разрушить, ведь в этом и состоит вся современная большая политика.

Таким образом, по тому что кукарекают любые современные маргиналы, прекрасно видно что на самом деле хорошее и нужное - то, против чего они выступают, и соответственно, за что они выступают это говно.
Аноним 02/12/23 Суб 11:37:32 #132 №2946343 
>>2946342
таблетки
Аноним 02/12/23 Суб 13:50:11 #133 №2946451 
1.png
Как решить литкодовский дейлик при помощи ranges C++23?

https://leetcode.com/problems/find-words-that-can-be-formed-by-characters
Аноним 02/12/23 Суб 13:53:58 #134 №2946454 
>>2946451
Смотря какой у литкода компилятор, у меня кланг не дружит с вьюхами.
Аноним 02/12/23 Суб 15:17:50 #135 №2946592 
>>2946451
Auto length return s.size

Маразм крепчал
Аноним 02/12/23 Суб 16:14:06 #136 №2946705 
Начал читать операционные системы Таненбаума. Духота невыносимая, столько воды, что моё почтение. Посоветуйте чего-нибудь по ос.
Аноним 02/12/23 Суб 17:02:46 #137 №2946822 
>>2946705
>Посоветуйте чего-нибудь по ос.
https://wiki.osdev.org/Expanded_Main_Page
Аноним 02/12/23 Суб 19:56:40 #138 №2947082 
.png
>>2941963
Рабочие проекты на C/C++ у меня выглядят примерно так
Аноним 02/12/23 Суб 20:07:08 #139 №2947104 
1.png
Достаточно красивое решение литкода? Как по мне, fold_left выглядит всрато, особенно из-за отсутствия параметров по умолчанию.
Аноним 02/12/23 Суб 20:31:28 #140 №2947147 
>>2946705
Windows Internals. Соломон, Руссинович. Евреи фигню не напишут.
Аноним 02/12/23 Суб 21:02:01 #141 №2947198 
>>2947082
>Vendor not init
Поставщик нет иниц
Аноним 02/12/23 Суб 21:04:52 #142 №2947201 
>>2947082
На заводы суки
Аноним 02/12/23 Суб 21:18:35 #143 №2947216 
image.png
image.png
image.png
В чем он не прав?
Аноним 02/12/23 Суб 21:20:17 #144 №2947218 
>>2947201
Так я и есть заводской...

>>2947198
Всего 10 лет назад там бы было:

"Vendor ne inicializirovan".
"Ne udalos' inicializirovat' GPIO"
Аноним 02/12/23 Суб 21:23:16 #145 №2947227 
image.png
>>2947218
Аноним 02/12/23 Суб 21:25:56 #146 №2947233 
>>2947216
Все верно, зачем что то добавлять, когда можно несколько тысяч человеко часов положить чтобы сделать аналог, который возможно будет ещё и хуже

Зато не будет проблем, точнее они будут, просто решать их придется вам, а это ещё работка, а работка это зепешка
Аноним 02/12/23 Суб 21:30:04 #147 №2947241 
Пацаны, а есть адекватный туториал по QML? Мне тут в треде, да и на собесах эту технологию рекламировали, а адекватных руководств, как и 5 лет назад, найти не могу. То, что Qt-шники на сайте предлагают, хуйня хуйнёй.

Может кто знает, где можно адекватно пошагово поучиться?
Аноним 02/12/23 Суб 21:35:19 #148 №2947254 
>>2947233
В принципе, здравая идея.

Если кто-то попал на унылый скучный проэкт, можно пролоббировать создание своих библиотек якобы под этот проэкт, тем самым заняться тем, что интересно тебе. Плюс строчка в твоем резюме, что ты создатель библиотек, а не только ковырятель вилкой унылых типовых проэктов.
Аноним 02/12/23 Суб 21:36:52 #149 №2947260 
>>2947254
А ещё круче когда этот чел уйдет и сопровождение "весёлых и интересных" библиотек упадет на тебя

Зато своё, домашнее :3
Аноним 02/12/23 Суб 21:38:21 #150 №2947262 
>>2947216
В том что в реальном мире - тебе не одна маленькая хуевинка нужна.
Ну, типа с моей колокольни заводского. Нужны библиотеки вендора для работы с переферией, драйверы, эссДэКа.
Далее - есть всякая промежуточная фигня от крупных игроков рынка, которые какой-нибудь DLMS просят или Zigbee или еще что-нибудь, а клиент еще хочет SNMP, MQTT и чтобы скада могла по Modbus опрашивать, а сбоку еще - для РФ сидят ФСБ и просят свои зонды встроить, чтобы БЕЗОПАСНО))) и прямо говорят, что вот есть два-три конкретных сертифицированных хуя, они за мульт-два-сто вам библиотеку дадут, если мы это библиотеку не увидим, ваш продукт сертификацию не пройдет.
Ну так вот. Нет ресурсов чтобы все это добро разрабатывать, поддерживать, выяснять, что где оно там сломалось. А срок разработки обычный - месяц на версию, ведь менеджеры узнали слова Аджайл и Скрам, и типа - если мы назовем месяц разработки спринтом, но все остальное - как было по ватерфолу, так и осталось, с жесткими сроками, при этом отсутствием сбора требований и ТЗ - то можно ебать мозги, и при этом наваливать говна всякого каждый месяц.
А на заводе, обычно - один человек - один проект. Вот и думай. Каким фигом ты за месяц все это изучешь, вникнешь и реализуешь.
Аноним 02/12/23 Суб 21:39:54 #151 №2947269 
>>2947260
Но я все же думаю Карпов пишет как раз про те случаи, когда существует компактное решение, не требующее сопровождения.
Аноним 02/12/23 Суб 21:45:59 #152 №2947286 
>>2947269
Абсолютно всегда оказывается, что надо что-то там допилить.
Даже в библиотеках уровня isOdd, isEven
Аноним 02/12/23 Суб 21:53:32 #153 №2947303 
>>2947216
Прав, но он просто проблемы обозначил, решения у них нет
Аноним 02/12/23 Суб 21:54:58 #154 №2947307 
>>2947241
Хуя ты ахуевший зумер. В мире плюсов кутовая дока самая ахуенная
Аноним 02/12/23 Суб 21:55:35 #155 №2947309 
>>2941431
>Не могу найти годный вариант чтоб взять файлы из папки и шибануть одним архивом в другую директорию.
Напиши свой простенький псевдоархиватор (без сжатия офк, просто склеивай файлы в один).
Аноним 02/12/23 Суб 21:58:26 #156 №2947312 
>>2947303
>>2947286
>>2947262
ОК, услышал вас.
Аноним 02/12/23 Суб 22:00:48 #157 №2947316 
>>2947216
Реализация регулярных выражений в несколько десятков строк - то-то я думаю, чего это ПёС-студио так тормозит? Им и невдомёк, что в нормальных либах регулярки векторизованы и тщательно оптимизированы.
Аноним 02/12/23 Суб 22:07:08 #158 №2947331 
>>2947316
Именно про регэкспы меня больше смущает, чем ему STL std:: не понравилось.

>чего это ПёС-студио так тормозит?
Ну она концептуально задумана для работы в фоновом режиме.
Прям вот тормозов от нее я не замечал даже на древнем amd процессоре. Правда я и больших проектов никогда за сиську не трогал.
Аноним 02/12/23 Суб 22:20:19 #159 №2947354 
>>2947227
Обосрался с инжалид дриже.
У меня был перевод x-com 3. Большая часть текста была как-то переведена, но с кнопками был мрак. Up и Down почему-то выглядели как Ур и Дошп.
Аноним 03/12/23 Вск 07:02:35 #160 №2947694 
>>2947354
Старая добрая замена букв, так в 90-е переводили все консольные игры. Играл в одну рпг с кучей текста который был не переведен, а буквы все заменили на русские, так и читал вычислив и выучив замены, вполне бегло между прочим.
Аноним 03/12/23 Вск 14:28:49 #161 №2948028 
>>2946283
Неймспейсы
Аноним 03/12/23 Вск 14:36:09 #162 №2948037 
>>2947307
>В мире плюсов кутовая дока самая ахуенная
Дока по самому Qt терпимая. Говно, но в целом пользоваться можно.
Дока по QML же просто дерьмище. Точнее, может она и заебись, как справочник для тех кто шарит.
А вот для вкатунов кал говна.
Аноним 03/12/23 Вск 14:49:01 #163 №2948049 
>>2948037
Какая еще дока по самому qt и qml? А qml это не qt?
Аноним 03/12/23 Вск 14:55:43 #164 №2948053 
>>2948049
Qt это фреймворк. QML это язычок, придуманный Qt-шниками. Я, клепая 5+ лет говнософт на Qt/C++, нихуя в эту QML-парашу без мануала въехать не могу.
Аноним 03/12/23 Вск 15:01:49 #165 №2948068 
>>2948053
Qml же жабаскрипт + css.
Чё там вкатываться?
Аноним 03/12/23 Вск 15:07:54 #166 №2948076 
>>2948053
Qt это набор либ, куда блять и qmlвские входят, это не нечто отдельное особняком и так же всобачено в доку qt
Аноним 03/12/23 Вск 15:23:14 #167 №2948105 
>>2946284
Я предположу что это из шарпов.
Когда у тебя допустим есть класс.
Он - например, в стандартной библиотеке.
Допустим, тебе часто надо кодировать-раскодировать строки. Ты хочешь что-то в духе var encryptedString = "Hello World".encrypt("AES256", key)
В шарпе - ты можешь сделать метод расширения, который добавит такой метод и ты сможешь вызывать его в своем коде, без необходимости делать новый класс/прокси/адаптер/любая другая ООП херня.
При этом - это выглядит для пользователя, будто это все тот же няшный класс, просто с новыми методами. Доступа к приватной фигне - нету, так что просто так сломать что-то не получится.

В шарпах - удобная фича, потому что позволяет допустим сделать простой интерфейс, а потом расширениями - нафигачить в него всякого разного полезного.
Ну или более простой пример. У тебя есть перечисление, которое в шарпах - число простое. Ты хочешь красиво выводить в консоль значение этого перечисления. Ты можешь конечно сделать logger.Message(Utils.ToNiceString(myEnumValue)), но ведь красивше выглядит так: logger.Message(myEnumValue.ToNiceString())
Аноним 03/12/23 Вск 15:48:19 #168 №2948134 
Screenshot20231203154629.png
>>2948068
>Чё там вкатываться?
Непонятно, как корректно сделать "бекенд" на Qt/C++ и наладить взаимодействие с "фронтендом" на QML. Типа как передача и объявление структур данных должны выглядеть, как проект вообще выглядит и прочая хуета. Базовая, замечу, хуета. Открываешь мануал с сайта, там нихуя этого нет. При этом этот мануал носит гордое название пикрелейтед.
>>2948076
>и так же всобачено в доку qt
Ога. Только из этой доки хуй проссышь, как этим пользоваться. Как на Qt или QtWidgets говнокодить разберётся даже даун. В отличие от.
Аноним 03/12/23 Вск 19:20:40 #169 №2948453 
>>2948105
Вообще-то это рак, обфусцирующий левые функции под методы класса. "Красиво" такое выглядит только для дацна. Суть, такой же рак как переопределение операторов - хуета вводящая в заблуждение.
Аноним 03/12/23 Вск 19:24:27 #170 №2948462 
Сап двач. У меня есть файл Module1.bas, в нём макрос Sub Макрос1(). Могу ли я его как-то применить в моей функции, используя библиотеку Interop.Microsoft.Office.Interop.Excel.1.9?
Файл с макросом лежит в переменной macrosPath.
Функция:

void ProjectPracticeDLL::ExcelWork::OutputInExcel(int mas, int numbers, int n, String^ macrosPath)
{
auto XL = gcnew Microsoft::Office::Interop::Excel::ApplicationClass();

XL->Visible = true;

Object^ t = Type::Missing;

auto Workbook = XL->Workbooks->Add(t);

String^ str;
XL->Cells[1, 1] = "Ответы:";

for (int i = 0; i < n; i++)
{
XL->Cells[2, i + 1] = String::Format("{0:f0}", numbers);
XL->Cells[3, i + 1] = String::Format("{0:f0}", mas);
}

}
Аноним 03/12/23 Вск 19:58:16 #171 №2948515 
>>2948453

Вот у меня есть интерфейс вида: IEnumerable<T> у которого есть единственный метод - GetEnumerator, возвращающий IEnumerator<T>

У тебя есть здоровенная библиотека всяких коллекций, которые имплементируют этот интерфейс. Ты хочешь иметь возможность разные IEnumerable<T> приводить к конкретной коллекции.

Что будем делать в случае с методами расширения?
У нас есть хешсет?
Деламе метод расширения
ToHashSet<T>(this IEnumerable<T> self);

У нас появился иммутабельный массив
ToImmutableArray<T>(this IEnumerable<T> self);

У нас появился словарь
Dictionart<TKet, TVal >ToDictionary<T, TKey, TVal>(this IEnumerable<T> self, Func<T, TKey> keySelector, Func<T, TVal> valSelector);

И мы получили это поведение разом для ВСЕХ кто имплементирует интерфейс. Нам не нужно постоянно лазить и расширять интерфейс, классы, которые его имплементируют - нам трогать не нужно.

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

И в заблуждение оно никакое не вводит. В мире шарпов - используется повсеместно. Никто не жалуется. Тем более, что чтобы использовать эти методы расширения - ты должен явно использовать неймспейс в котором они определены. Зато это позволяет расширить поведение тех типов, к которым у тебя нет доступа, позволяет не раздувать интерфейс без надобности.
Аноним 03/12/23 Вск 20:04:56 #172 №2948529 
>>2948453
> переопределение операторов - хуета
Чего только в плюсо треде не увидишь
Аноним 03/12/23 Вск 21:32:13 #173 №2948692 
>>2948462
иди нахуй со своим вижуал васиком
Аноним 03/12/23 Вск 21:41:09 #174 №2948715 
>>2948692
Почему?
Аноним 03/12/23 Вск 21:48:38 #175 №2948738 
>>2948134
https://stackoverflow.com/questions/27584803/how-to-set-qml-properties-from-c
Аноним 04/12/23 Пнд 00:07:01 #176 №2949075 
>>2938659 (OP)
куда берут в РФ по С++?
планирую игру сделать в будущем. или помогать в разработке. поэтому и вкатываюсь.
будущее С# слишком туманным показалось. и кроме работы как в Озоне перспектив не увидел.
Аноним 04/12/23 Пнд 00:09:09 #177 №2949079 
>>2949075
НИИ
Аноним 04/12/23 Пнд 00:10:18 #178 №2949080 
>>2949075

на данный момент в заочку поступил в ИТ филиал какого то московского вуза в своей мухосрани.


улетело.
>>2949079
да ладно? они живые разве?
Аноним 04/12/23 Пнд 00:14:18 #179 №2949088 
>>2949075

озон вообще залупа, устройся туда работать и замкни им сервера, устроив перед этим в опенспейсе бурлеск
Аноним 04/12/23 Пнд 00:20:22 #180 №2949095 
>>2949088
>опенспейсе
пиздец. дно дна. решения старых времен.
Аноним 04/12/23 Пнд 01:26:32 #181 №2949227 
>>2949075
Дык куча геймдева, куча мелких производств на каждом углу, но том Qt нужен.
Бигтех: Яндекс, Авито, ВК.
НИИ те же.
Аноним 04/12/23 Пнд 03:52:10 #182 №2949258 
>>2949227
геймдев в россии мертв уже 2 года, мертвее твоей столетней бабки
яндекс - голланская компания и никакого отношения к россии не имеет
Аноним 04/12/23 Пнд 04:05:27 #183 №2949261 
>>2948529
удивляет то насколько самоуверенно он это заявляет
в том время как в крестах есть три фундаментальные семантики на основе которых строятся важнейшие идиомы и языковые конструкции, а именно пара конструктор-деструктор, шаблоны, и возможность переопределения операторов (включая и форму placement new в том числе)
Аноним 04/12/23 Пнд 06:26:07 #184 №2949285 
>>2949075
На завод, лол. Прошивки писать, всякое ПО для микроконтроллеров и прочие очень интересные вещи. ЗП - 30к со старта, с перспективой до 90к-120к подняться через 5 лет.
Аноним 04/12/23 Пнд 11:58:18 #185 №2949477 
>>2949258
Не важно, имеет отношение или нет, важно что есть вакансии и офисы внутри России.
Геймдев: удалёнке, инди. Но это не для вкатуна варианты.
Аноним 04/12/23 Пнд 13:18:32 #186 №2949579 
Есть вопрос по юниттестам приложений на плюсах, хочу убедиться в верности своих выводов и решений.

Допустим я пишу приложения следующих видов:
- Консольное приложение, которому задаешь команды и оно что-то делает, например совершает преобразование текстовых файлов
- GUI приложение, в котором есть какое-то основное окно, внутри которого все рисуется
- Сервис демон, который работает в фоновом режиме и что-то пишет в лог

Я хотел написать тесты для некоторых функций в этих программах, но столкнулся с некими проблемами. В динамических языках с системами импорта (Python, TypeScript) я могу напрямую импортировать нужную мне функцию и написать на нее тест. На плюсах мне доступны только инклуды, модули из C++20 пока не рассматриваю. То есть получается, что я должен структурировать свой код таким образом, чтобы основное ядро системы можно было собрать как библиотеку, которую потом уже подключать к коду, в котором есть входная точка?

И получается, что в крупном проекте мы напрямую не линкуем все в один исполняемый файл, а создаем множество библиотек, которые уже потом линкуем с исполняемым файлом, так? Я пока только в таком ключе вижу возможность тестирования.

Но это все хорошо, если более-менее изолированно можно тестировать. А как принято писать интеграционные и e2e тесты на плюсах?
Аноним 04/12/23 Пнд 13:25:11 #187 №2949593 
>>2949579
> основное ядро системы можно было собрать как библиотеку, которую потом уже подключать к коду, в котором есть входная точка?
Обычно так и делают
Основную логику приложения в отдельную либу

потом сможешь хот релоад делать
Аноним 04/12/23 Пнд 15:33:31 #188 №2949729 
А я чет не понял, OpenVX мертворожденая хрень? Все в итоге хуй забили?
Аноним 04/12/23 Пнд 15:35:55 #189 №2949730 
>>2949579
Разве тесты используют в приложениях? Я думал это для тырпрайз дрисни разрабатываемой одновременно десятками людей, а значит там архитектура для каждого разработчика изолированный самодостаточный кусочек, естественно между которыми какие-то интерфейсы, вот на них и навешивают тесты. А приложение это одна цельная лапша, какие тесты. Ну городи модули имитируя тырпрайз в одно рыло.
Аноним 04/12/23 Пнд 15:46:53 #190 №2949737 
>>2949730
> А приложение это одна цельная лапша, какие тесты
Плюсо тред)
Аноним 04/12/23 Пнд 16:22:31 #191 №2949777 
>>2949764
Бро да иди в доту гоблинов погоняй нахрен тебе куда то вкатываться, скажешь тоже
Аноним 04/12/23 Пнд 16:59:05 #192 №2949854 
1589942693920.jpg
пиздец какой то. проспал 14 часов. погода ебет ужасно.
>>2949227
>Дык куча геймдева, куча мелких производств на каждом углу, но том Qt нужен.
каво. я про Смуту только слышал.
никаких мелких компаний впомине не видел.
но если судить по вакам с HH

>Бигтех: Яндекс, Авито, ВК.
ну норм наверн. только ничем кроме авито не пользуюсь раз в полгода...
>>2949258
>яндекс - голланская компания и никакого отношения к россии не имеет
уф. но все ранво ведь у нас широкое распространение имеет?
>>2949285
>На завод, лол. Прошивки писать, всякое ПО для микроконтроллеров и прочие очень интересные вещи
хз. не питал никогда к таким вещам теплотой...
такое подойдет заядлым техникам или нердам, которых последних по пальцам пересчитать.
>>2949477
>Не важно, имеет отношение или нет, важно что есть вакансии и офисы внутри России.
>Геймдев: удалёнке, инди. Но это не для вкатуна варианты.
а где тогда опыт получать?
у меня нет возможности пока даже в миллионник переехать из Мухосрани на 500к (похуй что столько народу всего, вокруг одна ДЕРЕВНЯ блять, городских от силы 200к может наберется а и то меньше; город в топе по бедности состоит.)
Аноним 04/12/23 Пнд 18:56:02 #193 №2950043 
>>2946283
Можнасделать:
https://stackoverflow.com/questions/5463009/extension-methods-in-c#answer-5466499
Вообще, UFCS еще в 2020 стандарт хотели добавить, но как-то заглохло.
https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax
Аноним 04/12/23 Пнд 18:58:06 #194 №2950046 
Есть большая строка. Хотел бы работать с ее подстроками как с отдельными строками. Такое реально? \
Аноним 04/12/23 Пнд 18:58:37 #195 №2950049 
>>2950046
Trie
Аноним 04/12/23 Пнд 18:59:13 #196 №2950050 
>>2950046
>>2950049
А нет, обосрался. Гугли rope strings
Аноним 04/12/23 Пнд 19:01:10 #197 №2950054 
>>2950050
Спасибо
Аноним 04/12/23 Пнд 19:05:12 #198 №2950059 
Сильно ли обращение по указателям бьет по производительности? Есть ли разница между обращением к массиву std string и к массиву указателей на std string?
Аноним 04/12/23 Пнд 19:11:31 #199 №2950070 
>>2950059
зависит от ситуации, то что оно менее производительнее это факт
насколько? беньчмаркай и узнавай
Аноним 04/12/23 Пнд 19:16:24 #200 №2950080 
>>2950059
У тебя любое обращение к строке это и так обращение к указателю, если у тебя строка в 4 байта не влезла и ССО не сработал.
Аноним 04/12/23 Пнд 19:27:22 #201 №2950086 
>>2950080
А так будет 2 вместо 1
Аноним 04/12/23 Пнд 19:36:35 #202 №2950098 
>>2950046
std::string_view не подходит?
Аноним 04/12/23 Пнд 20:05:34 #203 №2950141 
>>2950086
Это Правда.
Но я думаю что для чела сверху это байтоебство нахуй не нужно и он тратит время на херню.
Аноним 04/12/23 Пнд 20:39:53 #204 №2950200 
>>2943030
Да куда с таким опытом возьмут то?
Аноним 04/12/23 Пнд 22:52:36 #205 №2950370 
Есть годный гайд на работу с cpp23, можно на ангельском, желательно visual studio? Пятиминутный гуглеж ничего не дал.
Аноним 05/12/23 Втр 09:04:20 #206 №2950635 
>>2950059
в общем случае операция разыменования это 3 инструкции mov на общих регистрах
Аноним 05/12/23 Втр 09:30:14 #207 №2950650 
>>2950059
>Сильно ли обращение по указателям бьет по производительности?
Может быть в сотни раз медленнее, если массив большой. Потому что кэш любит последовательный доступ к памяти.
Аноним 06/12/23 Срд 07:59:16 #208 №2951868 
>>2950650
> Может быть в сотни раз медленнее, если массив большой.
Серьезно. Но ведь это все еще гораздо быстрее, чем системные вызовы, так? так ведь?
Аноним 06/12/23 Срд 17:42:31 #209 №2952750 
spanishrofl.jpg
Есть ли больший говноязык?

https://youtu.be/SqT5YglW3qU?si=-_s4rxIudpDrn37f&t=837
Аноним 06/12/23 Срд 17:48:03 #210 №2952759 
>>2952750
Джаваскрипт не считается.
Аноним 06/12/23 Срд 18:52:42 #211 №2952949 
>>2952750
В плюсах видел вещи и пострашнее
Аноним 06/12/23 Срд 21:31:44 #212 №2953175 
>>2951868
разумеется
в данном случае 2 уровня оптимизации по скорости для написания производительных программ:
первое это минимизировать количество системных вызовов, ведь они ведут к переключению контекста, в случае си это проще понять, тк достаточно легко выяснить какие функции стандартной библиотеки используют системные вызовы
а уже второе это думать о оптимизации доступа к памяти в том числе и заменяя рандомизированный доступ на последовательный
первое может быть значительно больше влиять на общую производительность чем второе, разница может достигать двух порядков
ну и тут не стоит забывать про пограничный случай, так как вообще то фии выделения памяти malloc и new вообще то тоже содержат системные вызовы и приводят к переключению контекста, и поэтому основной оптимизационный прием это выделять память некими чанками, в с++ зачастую для этого используется форма placement new
Аноним 06/12/23 Срд 21:38:37 #213 №2953181 
>>2953175
>так как вообще то фии выделения памяти malloc и new вообще то тоже содержат системные вызовы
вернее, могут приводить к системным вызовам, насколько часто это происходит и в каких случаях будет зависеть от собственно реализации malloc и new
по этой причине было одно время было популярно писать собственные менеджеры динамической памяти типа tcmalloc и подобные
Аноним 06/12/23 Срд 21:51:08 #214 №2953189 
>>2953181
И сейчас так. Любой проект сложнее хелоуварда использует аллокатор/пул памяти.
Аноним 06/12/23 Срд 22:07:16 #215 №2953197 
>>2953175
тут еще наверное стоит уточнить, что процесс переключения контекста в системных вызовах, который приводил к переходу с user-space на kernel-space был неплохо оптимизирован в том смысле что зачастую не приводил к сбросу tlb что значительно ускоряло все это дело
но насколько я помню и если не ошибаюсь (я не спец по безопасности, либо по написанию сверх-быстрого кода) чтобы закрыть уязвимость meltdown как раз и выключили эту оптимизацию лол

Аноним 06/12/23 Срд 22:08:56 #216 №2953199 
>>2953189
не соглашусь
все же достаточно редко принимается решение о замене стандартного менеджера динамической памяти, подавляющее большинство пользуются стандартным который поставляется с компилятором и не паряться
Аноним 06/12/23 Срд 22:31:50 #217 №2953238 
Котики, признавайтесь, тут кто-нибудь БЭК пишет? Или вы десктоп пишете? Или мб чет системное?
Аноним 06/12/23 Срд 22:33:39 #218 №2953240 
а ну еще нужно сказать что вообще то не все системные вызовы ведут к переключению контекста
Аноним 06/12/23 Срд 22:46:15 #219 №2953257 
>>2953238
Я пишу бэк, но не на плюсах.
Аноним 07/12/23 Чтв 01:50:30 #220 №2953371 
>>2953238
Патаюсь писать игры под вин, движкострой на голом винапи и дыртыксах. Быдло индигемдев.
Аноним 07/12/23 Чтв 13:40:17 #221 №2953792 
>>2952750
>__attribute__((noinline))
>смотрите какой хуевый код сгенерил C++, то ли дело раст
Все растопидоры такие пидоры?
Аноним 07/12/23 Чтв 13:47:44 #222 №2953806 
>>2953792
У него там "кококо, меня не так поняли" в первом же комменте.
Аноним 07/12/23 Чтв 13:52:18 #223 №2953809 
>>2953792
>Все растопидоры такие пидоры?
Да, почти во всех тестах РАСТ VS ЯЗЫК НЕЙМ будет специально подбираться задача, где стандартная реализация хуйни_нейм у раста будет эффективней, либо же прямо во время тестов под смешными предлогами могут поменять структуру данных и сказать что-то в духе "Да это не сильно повлияет на результат. Просто так нужно сделать". Например, видел тест, где сравнивали структру данных из стандартной библиотеки плюсов и структуру данных из левой библиотеке на расте. Ну а хули, на плюсах нельзя же библиотеки писать. А на комменты под видосом от адекватов, которые заметили наеб, сразу налетают сектопетухи и начинают спамить по методичке.
Аноним 07/12/23 Чтв 13:52:31 #224 №2953810 
>>2953189
>Любой проект сложнее хелоуварда использует аллокатор/пул памяти.
Только если тебе нужно больше 1М аллокаций в секунду. Такое не так часто бывает. Тот же Qt, где почти все классы с pimpl, вполне тянул таблицы с тысячами строк даже во времена четвертого пентиума и атлона хр.
Аноним 07/12/23 Чтв 14:02:25 #225 №2953828 
>>2953792
>Все растопидоры такие пидоры?
У них же это в Code of Conduct прямо написано "язык для пидорасов". Плюс там 90% коммьюнити трансы и всякие небинарные снежинки.
Аноним 07/12/23 Чтв 18:48:46 #226 №2954372 
>>2953810
Верю, но таблицы гуя это не про быстрые приложение бро.
Аноним 07/12/23 Чтв 19:30:48 #227 №2954423 
>>2953810
>Тысячи
Хах, 800к выводил.
Аноним 07/12/23 Чтв 22:59:49 #228 №2954664 
>>2940681
Сначала повестку, а уже затем автомат
Аноним 07/12/23 Чтв 23:09:41 #229 №2954675 
>>2941963
Ха. Наверное я долго на C# пишу, но на твоём скриншоте какой-то пиздец.

Не, на плюсах у меня тоже иногда такой говнокод получался, но не часто и не везде. Всё же STL нужно использовать с умом, а не по правилу "когда у тебя есть молоток, то всё вокруг кажется гвоздём".
Аноним 07/12/23 Чтв 23:20:46 #230 №2954690 
>>2947082
>>2947082
Выглядит как лютая хуйня.
Аноним 08/12/23 Птн 05:11:18 #231 №2954825 
Есть операции записи и чтения в переменную. Еще есть условия и циклы. Нужно вывести неиспользуемые записи. То есть если есть
y=3
y=4
То надо вывести, что y=3 не используется. Была идея просто граф сделать и найти такие вершины записи из которых нет путей в чтение. while и if дают цикл и ветвление соответственно. Но меня просят с помощью ДКА решить. Есть идеи, а то я что то не врубаюсь
Аноним 08/12/23 Птн 05:12:49 #232 №2954826 
>>2954825
Это вопрос
Аноним 08/12/23 Птн 08:04:45 #233 №2954880 
>>2954825
Напиши враппер над переменной и считай.
Аноним 08/12/23 Птн 09:17:35 #234 №2954916 
>>2954880
Я же не могу программу выполнить. Статически надл
Аноним 08/12/23 Птн 09:25:15 #235 №2954920 
>>2954916
Соболезную
Аноним 08/12/23 Птн 23:11:48 #236 №2956170 
>>2953371
>Патаюсь писать игры под вин, движкострой на голом винапи и дыртыксах. Быдло индигемдев.

Используешь визуальню или mingw?
Аноним 08/12/23 Птн 23:13:19 #237 №2956171 
>>2954825
ну бля, челик
это хорошее задание на кодинг, скорей всего ты учишься в хорошем вузе раз вам дают такие задачки на лабы
ну нахуя ты себе сам жизнь портишь? ты забивай на непрофильные предметы, но все что относится к кодингу делай сам, набивай руку бля
особенно алгоритмы
Аноним 08/12/23 Птн 23:41:34 #238 №2956195 
>>2956171
Я не забиваю. Есть простое решение за квадрат, но без дка. И во-первых, я очень сомневаюсь, что быстрее нельзя, а во-вторых, быстрее не придумал. И с ДКА тоже не придумал пока.
Аноним 08/12/23 Птн 23:43:39 #239 №2956197 
>>2956195
Бля, как даун написал. Короче быстрее квадрата не знаю как решить, хотя очень похоже, что можно, да и нахуй тут дка тоже не понял
Аноним 08/12/23 Птн 23:56:40 #240 №2956209 
Объясните зачем вообще писать какую либо функцию как приватную в классе, если можно ее написать как свободную в cpp с определением публичных?
Аноним 09/12/23 Суб 00:00:14 #241 №2956211 
>>2956209
Надо.
Аноним 09/12/23 Суб 00:07:12 #242 №2956217 
photo2020-12-2121-06-41.jpg
Сап плюсач, хочу вкатиться в вашу хуйню.

Я опытный прогроммист на компилируемых языках с рантаймами типа JVM, писал маленькие программки на C, патчил большие программки на C/Rust/Zig. В целом я довольно неплохо понимаю как устроен компьютер, как работают компиляторы, как устроены рантаймы.

Собственно вопросы:

1. Как научиться писать на последних плюсах не перепроходя кучи базовых вещей?
2. Какой у вас там есть простой тулинг для сборки и управления зависимостями? По уровню тупизны желательно как package.json в жаваскриптах. Я умею в GNUMake и Nix профессионально, но сложные проекты всё равно обростают CMake-ом, который я искренне ненавижу. Слышал были какие-то удобные тулы, но не помню названий (Conan или ninja или meson или как их там)
3. Какой тулинг для сборки предложите? Что-то тупое типа ctags/lsp и линтеров меня устроит. Я видел что есть 1000 и 1 анализатор для UB и прочей хуеты. Это на начинающем уровне вообще нужно изучать?
4. Хочу писать под юникс. gcc или cmake? или ещё какой-то есть?

пикрандом
Аноним 09/12/23 Суб 00:09:03 #243 №2956220 
квикфикс

s/Какой тулинг для сборки предложите/Какой тулинг для разработки предложите/
Аноним 09/12/23 Суб 00:09:47 #244 №2956221 
>>2956217

квикфикс

s/3. Какой тулинг для разработки предложите?/3. Какой тулинг для разработки предложите?
Аноним 09/12/23 Суб 00:19:39 #245 №2956230 
>>2954825

Не знаю на счёт ДКА, но в компиляторах Dead Code находится построением графа. Либо control flow, либо data flow графа. Я недавно писал Sea Of Nodes, и там такое находилось довольно просто прям после построения графа

Тебе же тут будет достаточно во время построения data flow графа связывать те переменные, которые взаимодействуют (то есть в коде `x = f(y, z)` будет связь `x -> y` и `x -> z`. И вот ты до return построй и потом от каждого return иди и помечай в графе в каких вершинах побывал. Те, которые не пометил, это и есть Dead Code

А, ну и всё это в SSA
Аноним 09/12/23 Суб 00:48:27 #246 №2956255 
>>2956209
Это ооп головного мозша протекает.
ну и *ЭТО передавать не надо отделтно
Аноним 09/12/23 Суб 01:26:14 #247 №2956272 
>>2956217
Пидаrustер детектед
Аноним 09/12/23 Суб 01:43:50 #248 №2956278 
>>2938659 (OP)
>2 пик
Какое отношение к плюсам имеет?
Аноним 09/12/23 Суб 01:47:40 #249 №2956279 
>>2956278
Прямое. Это из сиандартной либы майков.
Аноним OP 09/12/23 Суб 01:48:59 #250 №2956280 
>>2956278
Т.е. к третьему пику у тебя вопросов нет?
Аноним 09/12/23 Суб 01:51:54 #251 №2956282 
>>2956279
Ещё раз. Какое отношение к плюсам? Этой "либе"(апи) 300 лет в обед, она и без плюсов существует, существовала и будет существовать.
Аноним 09/12/23 Суб 01:56:22 #252 №2956283 
image.png
Это што это вообще?
Аноним 09/12/23 Суб 02:39:52 #253 №2956286 
>>2956230
Че то пиздец какой то. Думал простая таска, а нет. Ща пойду про финоды читать
Аноним 09/12/23 Суб 03:00:26 #254 №2956293 
>>2956286
Я еще подумаю, может легче будет как то считерить, используя ограниченнось моего языка
Аноним 09/12/23 Суб 03:05:44 #255 №2956294 
>>2956293
Не, короче хуй забью и сделаю за квадрат, как хотел
Аноним 09/12/23 Суб 03:09:37 #256 №2956296 
image.png
>>2956282
>Этой "либе"(апи) 300 лет в обед, она и без плюсов существует, существовала и будет существовать.
Да, это тонкий момент)) Две недели тред висит, а никто не обратил внимания))) Не так уж много образованных в наше время)))
Аноним 09/12/23 Суб 03:10:44 #257 №2956297 
>>2956283
\ - перенос строки
Аноним 09/12/23 Суб 03:19:17 #258 №2956300 
>>2956296
Че ты высрал?
Аноним 09/12/23 Суб 03:25:40 #259 №2956301 
>>2956272
Ошибаешься, я программирую на хуйне, про которую ты наверное и не слышал
Аноним 09/12/23 Суб 03:26:34 #260 №2956302 
>>2956286
Так это относительно простая таска. У тебя какие части компилятора готовы? AST уже умеешь собирать? Язык сам какой, мутабельный и процедурный, да, типа C?
Аноним 09/12/23 Суб 03:30:58 #261 №2956303 
>>2956302
AST не сложно собрать. Я дерево разбора построил, теперь надо просто аккуратно куски лишние убрать, да покрутить. Язык процедурный, мутабельный.
Программа это список стейтментов, стейтмент это либо
1) переменная = выражение
2) if <выражение> <список стейтментов> end
3l <выражение> <список стейтментов> end
4) выражение это числа, переменные и арифметика
Аноним 09/12/23 Суб 03:35:45 #262 №2956305 
>>2956303
Надо мне спать идти, а то я уже пишу ч ошибками. 4 пункт, стейтментом не является, конечно.
Аноним 09/12/23 Суб 03:37:41 #263 №2956306 
>>2956305
И в третьем пункте while не дописал
Аноним 09/12/23 Суб 05:53:13 #264 №2956315 
>>2956303
Выше написали же, переведи в SSA, и дальше раскрашивай граф. Обычные dead code elimination/global value numbering. От тебя видимо требуют ну оптимизацию вообще, по книжке, а какую-то узко специальную задачу, если нужны именно конечные автоматы.
Аноним 09/12/23 Суб 06:11:28 #265 №2956316 
>>2956217
Vcpkg используй для скачивания зависимостей, того,чего там нет - грузи как сабиодули в гитек
Аноним 09/12/23 Суб 08:13:48 #266 №2956325 
>>2956209
Чтобы эта функция не протекала туда где используют твой класс
Аноним 09/12/23 Суб 09:21:10 #267 №2956347 
>>2956217
> Сап плюсач, хочу вкатиться в вашу хуйню.

> Я опытный прогроммист на компилируемых языках с рантаймами типа JVM, писал маленькие программки на C, патчил большие программки на C/Rust/Zig. В целом я довольно неплохо понимаю как устроен компьютер, как работают компиляторы, как устроены рантаймы.
Круто. Тебе или в две конторы писать компиляторы, или перекладывать протобуфы в бигтех.
> Собственно вопросы:

> 1. Как научиться писать на последних плюсах не перепроходя кучи базовых вещей?
Книга модерн спп.
> 2. Какой у вас там есть простой тулинг для сборки и управления зависимостями? По уровню тупизны желательно как package.json в жаваскриптах. Я умею в GNUMake и Nix профессионально, но сложные проекты всё равно обростают CMake-ом, который я искренне ненавижу. Слышал были какие-то удобные тулы, но не помню названий (Conan или ninja или meson или как их там)
В открытом доступе таких нет. Все что есть - кал.
> 3. Какой тулинг для сборки предложите? Что-то тупое типа ctags/lsp и линтеров меня устроит. Я видел что есть 1000 и 1 анализатор для UB и прочей хуеты. Это на начинающем уровне вообще нужно изучать?
Все что есть кал.
> 4. Хочу писать под юникс. gcc или cmake? или ещё какой-то есть?
Оба хороши. Но мне гцц больше нравится, в нем я реже сталкивался с хуйней по типу "бля мы реализовали эту часть стандарта но на 10%, галочку воткнули"
Аноним 09/12/23 Суб 09:23:10 #268 №2956351 
>>2956325
А как она протечет бро, она же в .спп
Аноним 09/12/23 Суб 09:41:05 #269 №2956362 
>>2956351
Ты класс в цпп обьявлять будешь?
Если тебе обычная функция нужна, то конечно делай ее только в сорсах, а если конкретно метод класса, то приват это то что нужно
Аноним 09/12/23 Суб 11:32:42 #270 №2956449 
>>2956297
Он же закомментирован.
Я хочу путь к файлу в комментарии написать, а тут такое.
Аноним 09/12/23 Суб 12:22:30 #271 №2956483 
>>2956449
Пиши путь к файлу через прямые слеши, а не обратные
Аноним 09/12/23 Суб 12:49:38 #272 №2956492 
>>2956362
Бля, я там не правильно понял последнюю строку исходного вопроса.
С ней вообще непонятно нахуя это спрашивать.
Аноним 09/12/23 Суб 13:00:13 #273 №2956497 
>>2956209
Чтобы что? Что именно тебе даст то, что у тебя не будет приватной функции класса?
Аноним 09/12/23 Суб 13:05:23 #274 №2956500 
>>2956280
А анимешки мне нравятся, пусть висит.
Аноним 09/12/23 Суб 15:50:46 #275 №2956757 
>>2956497
Не будет лишней функции которая не имеет отношения к логике класса, если речь про какие то специфичные. Например надо проверить, что число простое
Аноним 09/12/23 Суб 15:52:48 #276 №2956761 
>>2956351
В смысле? Ну если неймспейсов никаких нет, то может быть коллизия с фугкцией с таким же названием в другом месте
Аноним 09/12/23 Суб 16:06:14 #277 №2956773 
>>2956209
Возможно, в будущем сделают private_cast, и можно будет вызывать приватные функции, а так их не видно будет.
Аноним 09/12/23 Суб 17:01:57 #278 №2956835 
>>2956773
Пиздец, ебанутые в тред пробрались
Аноним 09/12/23 Суб 17:21:40 #279 №2956887 
>>2956835
Отмена приватности будет так или иначе доступна, когда выкатят рефлексию.
Аноним 09/12/23 Суб 17:27:23 #280 №2956899 
>>2956315
Лол. Конечные автоматы там не нужны. DFA это data flow анализ, а не ДКА)
Аноним 09/12/23 Суб 18:00:18 #281 №2956959 
>>2956209
План был такой что люди будут писать более хороший неломающийся от опечаток код. Но это всегда бьет по гибкости, ведь когда когда человек пишет какое то апи на плюсах он никогда не представляет что тебе понадобится от его либы
Аноним 09/12/23 Суб 19:35:51 #282 №2957098 
>>2956899
Все проще, даже чем вы описали. Я нашел в книге live-variable analyzis. Даже SSA не нужно. Просто найти по этому алгоритму live-variables, затем пройтись по всем assignmentам и пометить лишними те, для которых переменная не принадлежит live множеству
Аноним 09/12/23 Суб 19:58:59 #283 №2957141 
>>2957098
Ну точнее посмотреть на live множества всех потомков после assignmnt, и если там нет нашей определяемой переменной, то присваивание лишнее. Звучить просто
Аноним 09/12/23 Суб 20:09:53 #284 №2957163 
>>2957141

Да, и это нужно в SSA форме делать. Live анализ для кода
```
y = 3;
y = 4;
return f(y);
```
Скажет что `y` live. И вот потом сиди и думай какой собственно из двух имелся в виду. Поэтому чтобы их отличать ты и делаешь SSA. Причём для твоей задачи даже полностью SSA форму делать не нужно (например ФИ тебе нахуй не нужен)

Ну и да, Live analysis это обход data flow graph, который я выше буквально по пунктам тебе описал.

А вот более качественный Dead Code elimination делается сложнее, дорогой друг. Там надо качественно ебаться и с анализом CFG, чтобы находить ветки, в которые код никогда не попадёт, и всё такое.
Аноним 09/12/23 Суб 20:12:40 #285 №2957166 
>>2957163
Не, конечно можно строить DFG не поверх SSA формы, но собственно говоря удобнее всё-таки поверх SSA формы, чтобы дальше ещё оптимизировать. И в любом случае, построение DFG эквивалентно построению SSA формы, просто после DFG нужно ещё обойти граф поиском в глубину и номер версии для каждой переменной проставить.
Аноним 09/12/23 Суб 20:26:56 #286 №2957171 
>>2957163
>Да, и это нужно в SSA форме делать. Live анализ для кода
>```
>y = 3;
>y = 4;
>return f(y);
>```
>Скажет что `y` live. И вот потом сиди и думай какой собственно из двух имелся в виду. Поэтому чтобы их отличать ты и делаешь SSA. Причём для твоей задачи даже полностью SSA форму делать не нужно (например ФИ тебе нахуй не нужен)

Так я просто пройдусь по присваиваниям
y = 3; live: \empty
y = 4; live: \empty
return f(y); live: y

На первой строчке я смотрю на live из второй, вижу пусто -> y из этой строчки зря определился. На второй строчке я посмотрю на live из третьей, увижу y и пойму, что эта строчка нужна.

> А вот более качественный Dead Code elimination делается сложнее, дорогой друг. Там надо качественно ебаться и с анализом CFG, чтобы находить ветки, в которые код никогда не попадёт, и всё такое.
Пока не надо, поэтому усложнять не буду
Аноним 10/12/23 Вск 20:36:31 #287 №2958269 
Можно ли не выносить определения методов класса в cpp? почему не возникает ODR?
Аноним 10/12/23 Вск 20:55:00 #288 №2958311 
>>2958269
Можно.
Вообще должно нарушаться.
Аноним 10/12/23 Вск 20:59:14 #289 №2958328 
>>2958269
> Можно ли не выносить определения методов класса в cpp?
Можно, чтобы одр не нарушилось есть 3 варианта:

1) inline
2) template
3) constexpr хотя тут не уверен
Аноним 10/12/23 Вск 21:00:12 #290 №2958331 
А ну ещё и можно дефайнами защитить
Так обычно реализуют header only библиотеки
Аноним 10/12/23 Вск 21:01:30 #291 №2958333 
>>2958331
Как дефайны помогут, если все равно в разных cpp будут разные определения одной и той же функции?
Аноним 10/12/23 Вск 21:03:13 #292 №2958337 
>>2958333
Не важно что там в .спп, важно что в транслейшен юните.
Аноним 10/12/23 Вск 21:05:29 #293 №2958342 
>>2958337
Объясни в чем я не прав? Когда компилятор компилирует от ищет определения по всем cpp. Если у нас инклуд в разные cpp инклудится, то в разных cpp будут определения одной и той же функции
Аноним 10/12/23 Вск 21:07:05 #294 №2958346 
>>2958333

В разных цпп делаешь
#include "myheader.hpp"

Но только в одном из них
#define MY_LIB_IMPLEMENTATION
#include "myheader.hpp"

Этот дефайн соответственно, включает все определения, без него будут в хедере будут только заголовки функций

Чекни например stb_image библиотеку, ну или просто загугли любую header only библиотеку
Аноним 10/12/23 Вск 21:07:40 #295 №2958348 
>>2958342
Зависит от того, один это будет по итогу транслейшен юнит или разные.
Если разные то и проблемы нет.
Если один, то дефайны защищают.
Аноним 10/12/23 Вск 21:08:36 #296 №2958350 
>>2958346
Ifndef
Def
Вапщето делается ВНУТРИ хедер онли либы. А не снаружи.
Аноним 10/12/23 Вск 21:09:47 #297 №2958353 
>>2958348
Приведи пример
Аноним 10/12/23 Вск 21:09:50 #298 №2958354 
>>2958350
А я и не писал как это внутри реализовано, я написал как ими пользуются чтобы одр не сломалось
Но да, внутри ифдефы дефы
Аноним 10/12/23 Вск 21:14:05 #299 №2958362 
>>2958353
Мне лень
Лучше сломай сам и поиграйся с одр
Аноним 10/12/23 Вск 21:54:24 #300 №2958437 
>>2958328
>3) constexpr хотя тут не уверен
constexpr функция/метод неявно инлайнится. Можешь быть уверен.
Аноним 10/12/23 Вск 22:04:30 #301 №2958447 
>>2958342
> Когда компилятор компилирует от ищет определения по всем cpp.
Когда компилятор работает над текущей единицей трансляции, ничего вне ее он не ищет.
Аноним 11/12/23 Пнд 00:57:33 #302 №2958571 
Я же правильно понимаю, что нет способа запретить пользователю кидать ексепшны из моей либы?
Аноним 11/12/23 Пнд 01:24:13 #303 №2958587 
>>2958571
Noexcept ифункции и -fnoexcption для кого придемали?
Аноним 11/12/23 Пнд 01:24:59 #304 №2958588 
>>2958587
Не. Я не хочу, чтобы он кидал есепшоны моих типов
Аноним 11/12/23 Пнд 01:54:52 #305 №2958597 
>>2958571
Да, способа нет.
Аноним 11/12/23 Пнд 02:03:37 #306 №2958601 
Я правильно помню, что когда я определяю явно конструктор, то конструктор по умолчанию отрубается, но по прежнему генерируются все остальные? И когда применять правило пяти? Если я хочу оставить конструктор по умолчанию, но еще добавить один, то правило пяти надо применять?
Аноним 11/12/23 Пнд 09:29:32 #307 №2958688 
>>2958601
>когда применять правило пяти?
Когда класс зохватывает память или любой другой ресурс.
Если тебя не устраивает, например, поведение оператора присваивания по-умолчанию, то скорее всего и все остальное из "большой пятерки" нужно делать вручную.
Аноним 11/12/23 Пнд 09:37:14 #308 №2958691 
>>2958601
Если ты один из элементов пятерки делаешь не дефолтным, то должен создать реализацию и остальным.
Аноним 11/12/23 Пнд 23:32:56 #309 №2959959 
>>2956217
java - это хлебушек с маслом, теплая телка для ебли под боком;
зачем тебе кресты, не порти себе жизнь
Аноним 12/12/23 Втр 12:22:10 #310 №2960251 
>>2956217
>4. Хочу писать под юникс. gcc или cmake? или ещё какой-то есть?
>gcc или cmake
Это вообще ортогональные вещи, никак не связанные друг с другом.
Аноним 13/12/23 Срд 16:31:50 #311 №2961922 
>>2953175
Это называется аллокаторы, в стандартной библиотеке плюсов они используются давно и серьезно.
Аноним 13/12/23 Срд 17:39:01 #312 №2962062 
GDI и реализация OpenGL для Windows используют какое-то низкоуровневое API для рисования. Как оно называется? Как его использовать?
Аноним 13/12/23 Срд 21:42:33 #313 №2962486 
newfag itt

Есть файл Tables.cpp:
const int16 Glyphs[] { ... }

Есть второй файл Globals.h, который объявляет на весь проект:
extern const int16 Glyphs[]

Есть звездочка.cpp файлы, который использует этот массив. Как так переписать Tables.cpp или Globals.h чтобы не указывать размер массива каждый раз при добавлении удалении элементов (на стадии компиляции), но везде в других местах можно было бы узнать его размер не прибегая к перебору.

Не определяя сам массив в header'e.
Аноним 13/12/23 Срд 22:04:56 #314 №2962496 
>>2962486
>ARRAYSIZE( Glyphs )
Аноним 13/12/23 Срд 22:40:25 #315 №2962516 
>>2962062
Там все на уровне драйверов, какого-то особого API нет, может внутренняя прослойка есть, но ее снаружи не видно. В GDI наверняка куча окаменелостей со времен S3 Trio, когда только начали 2D ускорение в видюшки добавлять. OpenGL всегда на дровах от видюшки, или чисто софтовый 1.0 от opengl.dll, если дров не найдено. Что конкретно тебе надо?
Аноним 13/12/23 Срд 22:40:29 #316 №2962517 
>>2962496
Ах да, я же забыл ошибку указать.

ErrorC2070 "const int16 []": illegal sizeof operand ..\звездочка.cpp

incomplete types not allowed
Аноним 13/12/23 Срд 22:44:09 #317 №2962520 
>>2962496
Если я правильно понял объявление его как extern bla bla bla []
производит стирание типа, размер массива становится неизвестным использующему ЭТО коду.

Мне сказали что в С++ есть всё! Как исправить чтобы удобно было?
Аноним 13/12/23 Срд 22:45:16 #318 №2962522 
>>2962496
Почему extern не пробрасывает полный тип, как его видит? Если я правильно вообще понимаю причину проблемы*
Аноним 13/12/23 Срд 22:56:57 #319 №2962531 
>>2962522
Делай тогда в .cpp:
int size = ARRAYSIZE(...)
А в .h
extern int size
Компилятор размер массива видит только в месте объявления.
Аноним 13/12/23 Срд 23:03:01 #320 №2962540 
>>2962531
Помогло, спасибо!
Аноним 14/12/23 Чтв 08:25:31 #321 №2962651 
>>2962516
> Что конкретно тебе надо?
Я просто хочу разобраться...
> OpenGL всегда на дровах от видюшки
Но дрова-то разные, значит есть какое-то API? или как это вообще работает?
Аноним 14/12/23 Чтв 12:10:49 #322 №2962851 
>>2962651
Адреса функций в драйвере. Все. Ну и генерируемый хедер с типами.
Аноним 14/12/23 Чтв 23:14:49 #323 №2963744 
>>2962486
когда от одной строчки кода понимаешь что ведь проэкт попахивает говнецом..
Аноним 14/12/23 Чтв 23:29:40 #324 №2963752 
Есть ли какое преимущество у
std::string str{"abcd"s}; // using namespace std::string_literals
перед
std::string str{"abcd"};

???
Аноним 15/12/23 Птн 01:12:04 #325 №2963830 
>>2963752
Нет, оно нужно, чтобы писать
auto str{"abcd"s};
и получать std::string
Аноним 15/12/23 Птн 04:25:15 #326 №2963882 
>>2962486
блять, просто заведи константу в h-файле, типа
const size_t GLYPH_SIZE и используй её и в определении массива и везде, если работаешь с дефолтными сишными массивами.
Аноним 15/12/23 Птн 08:09:33 #327 №2963915 
Вот щас раст на хайпе и из каждого утюга визжат, что он плюсы ставит раком по безопасности. Насколько это правда? Есть ли на плюсах какая нить современная хуета, которая не позволяет выстрелить себе в башку?
Аноним 15/12/23 Птн 08:43:38 #328 №2963920 
>>2963915
> Есть ли на плюсах какая нить современная хуета, которая не позволяет выстрелить себе в башку?
Аналога борроу чекера нет
Есть кор гайдлайны на них всем похуй
Есть статические анализаторы кода
Есть динамические проверки
Аноним 15/12/23 Птн 14:01:17 #329 №2964306 
>>2963915
Быть программистом , ладно хотя бы кодером, а не смузихлебом.
Аноним 15/12/23 Птн 14:52:57 #330 №2964366 
Добрый день работяги! Важный вопрос имеется!
вот есть определенный класс:
template <int n = 1> class kek{}

я хочу создать структуру struct LOL{ kek<> qwe;}

чтобы потом её создавать с произвольными шаблонными классами. Вот только не могу понять, как мне в kek<> задать так, чтобы было не определённое число, а все ещё произвольный int.

Единственное до чего я додумался, так это определить шаблом у структуры как
template<int N> struct LOL{ kek<N> qwe;}
но затем бьюсь об то, что мне нужно эти структуры хранить с векторе, а они не лезут.
Аноним 15/12/23 Птн 15:09:37 #331 №2964395 
>>2964366
Так делать нельзя

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

Так или иначе, даже если ты приведешь их к общему виду, ты потом этот n достать из типа не сможешь
Аноним 15/12/23 Птн 21:15:21 #332 №2965199 
>>2963915
да этого говнеца всегда было полно в крестах и сишке, другое дело что все это развивается и те средства которые были доступны 30 лет назад теперь заменены на более современные аналоги
статистические анализаторы (те на этапе компиляции или перед ней)
санитайзеры (на этапе выполнения)
+ фаззинг
Аноним 16/12/23 Суб 00:30:56 #333 №2965744 
Почему функция протокает из неймспейса?
Те ее почему-то можно без неймспейса использовать, хотя нужный структуры, обтявленные там же рядом, этот неймспейс требуют.
Аноним 16/12/23 Суб 00:41:21 #334 №2965768 
>>2965744
Vs sudio?
Аноним 16/12/23 Суб 02:52:20 #335 №2965822 
cos.png
Анон, объясни как это ряд тейлора, если не юзается ни pow ни fact?
https://pastebin.com/tNcunVD1 это просто С
Аноним 16/12/23 Суб 11:43:41 #336 №2965988 
>>2965768
Нет. Гцц/кланг последних версий на линуксе.
Аноним 16/12/23 Суб 12:45:05 #337 №2966009 
>>2965988
Странно. У меняименно msvc неймспейсы проебывал. Может у тебя ADL?
Аноним 16/12/23 Суб 12:47:18 #338 №2966011 
>>2965822
>не юзается ни pow ни fact
Они вычисляются из значений, накопленных на предыдущих шагах основного цикла
> delimoe=xx;
> delitel=(n
(n-1));
> term = term * delimoe / delitel;

Что вобщем-то вполне благоразумно, ибо зачем на ровном месте добавлять n^1 к сложности алгоритма.

imena - moe pochtenie!
Аноним 16/12/23 Суб 14:34:40 #339 №2966110 
>>2966009
Похоже имеено так оно и есть. Забыл про эту шляпу.
Аноним 16/12/23 Суб 15:43:49 #340 №2966171 
image.png
>>2966110
А мне вот решарпер показывает на избыточные указания неймспейсов и аргументов шаблона
Аноним 16/12/23 Суб 17:39:08 #341 №2966385 
Приводу к указателю на тип взятый адрес:
(тип *)&...
Как тоже самое сделать, и можно ли, статик кастом а не си-кастом?
Аноним 16/12/23 Суб 18:06:31 #342 №2966414 
>>2966385
Зачем?
Если уж ты балуешься кастами указателей, то пусть оно и выглядит как инфъекция c-like кода, а не маскируется под современный c++.
Аноним 16/12/23 Суб 18:32:33 #343 №2966467 
>>2966414
Просто интересно, так то все и так работает.
Аноним 17/12/23 Вск 00:45:43 #344 №2966880 
wallpaperflare.comwallpaper.jpg
Программисты микроконтроллеров, имеет ли смысл для сборки под AVR использовать CMake или это будет считать извращением и проще написать Makefile и рядом положить, нашел вот такой пример на github, отпишите если есть подводные и как лучше сделать, спасибо.

@ptrks/CMake-avr-example/
Аноним 17/12/23 Вск 01:04:05 #345 №2966913 
>>2966880

cmake нужен для того чтоб генерить мейкфайл для линукса и sln для винды, нахуя
Аноним 17/12/23 Вск 01:13:40 #346 №2966923 
>>2966913
Хорошо, какую систему сборки предлагаешь юзать для проектов под AVR?
Аноним 17/12/23 Вск 01:24:03 #347 №2966935 
>>2942426
>несколькими миллионами файлов
Эх, как думаете, аноны, излечится ли мир от этого порожняка когда-то?
Аноним 17/12/23 Вск 01:29:56 #348 №2966937 
>>2966935
Нет.
Аноним 17/12/23 Вск 01:37:55 #349 №2966944 
>>2942426
тебе надо remedybg посмотреть.
вот id обзора с youtube
GC-0tCy4P1U
Аноним 17/12/23 Вск 01:56:30 #350 №2966967 
>>2966913
ето так, ты прав
но новое поколение теперь юзает cmake почти всегда, даже если у проэкта по сути одна платформа
что с этим сделать непонятно, мы к этому пришли
Аноним 17/12/23 Вск 01:57:09 #351 №2966968 
>>2966967
Чтобы потом в случае чего не переписывать же, очевидно
Аноним 17/12/23 Вск 03:07:55 #352 №2966981 
>>2966467
auto newPointer = reinterpret_cast<TargetType⚹>(&object);

или

void ⚹voidPointer = &object;
auto newPointer = static_cast<TargetType⚹>(voidPointer );

Просто так статик кастом сделать этого нельзя, и это неспроста.
Аноним 17/12/23 Вск 09:45:16 #353 №2967061 
>>2966880
Стоит уже ради того, чтоб твой проект в нормальных ide подхватывался
Аноним 17/12/23 Вск 15:33:03 #354 №2967344 
>>2967061
>>2966981
В таких случаях наверное имеет смысл вынести в отдельный C файл и вызвать оттуда. чтобы не было недосказанности.
Аноним 17/12/23 Вск 15:33:33 #355 №2967347 
>>2967061
>>2966981
В таких случаях наверное имеет смысл вынести в отдельный C файл и вызвать оттуда. чтобы не было недосказанности.
Аноним 17/12/23 Вск 18:06:53 #356 №2967569 
Здесь когда-то поц пробегал, который JUCE занюхивал. Поц, давай дружить?
Аноним 18/12/23 Пнд 02:48:45 #357 №2967912 
>>2966880
Лучше cmake, в нем удобнее делать проекты, где есть разделение кода на либы, экзешники, можно использовать разный тулчейн для разных экзешников, и т.д. Т.е. сначала ты думаешь, что будешь просто светодиодиком моргать, но потом оказывается, что какой-то код удобно не на контроллере тестить, а на десктопе, и ты выносишь его в либу с тестовой прогой под десктоп, проект пухнет, и простой мейк перестается с этим всем справляться.
Программа С++ по строкам Студент 18/12/23 Пнд 07:39:45 #358 №2967947 
Привет, помоги пожалуйста с задачей по с++ по строкам.
Задача по программированию. тема строки. С++

Дана строка. Словом, текста считается любая последовательность букв русского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: в слове гласные буквы чередуются с согласными. Все остальные слова удалить.

Примерный код программы(Но он выполняет условие не до конца):

#include <iostream>
#include <string>
#include <vector>
#include <cctype>

bool isValidWord(const std::string& word) {
if (word.empty()) {
return false;
}

bool prevIsVowel = std::isalpha(word[0]) && (std::tolower(word[0]) == 'а' || std::tolower(word[0]) == 'е' ||
std::tolower(word[0]) == 'ё' || std::tolower(word[0]) == 'и' ||
std::tolower(word[0]) == 'о' || std::tolower(word[0]) == 'у' ||
std::tolower(word[0]) == 'ы' || std::tolower(word[0]) == 'э' ||
std::tolower(word[0]) == 'ю' || std::tolower(word[0]) == 'я');

for (size_t i = 1; i < word.length(); ++i) {
if (std::isalpha(word)) {
bool currentIsVowel = std::tolower(word) == 'а' || std::tolower(word) == 'е' ||
std::tolower(word) == 'ё' || std::tolower(word) == 'и' ||
std::tolower(word) == 'о' || std::tolower(word) == 'у' ||
std::tolower(word) == 'ы' || std::tolower(word) == 'э' ||
std::tolower(word) == 'ю' || std::tolower(word) == 'я';

if (prevIsVowel == currentIsVowel) {
return false;
}

prevIsVowel = currentIsVowel;
}
}

return true;
}

int main() {
std::string input;
while (true) {
std::getline(std::cin, input);

if (!input.empty() && input.back() == '.') {
break;
}

std::cout « "Нет точки в конце" « std::endl;
}


std::vector<std::string> words;
std::string word;
size_t pos = 0;

while ((pos = input.find(' ')) != std::string::npos) {
word = input.substr(0, pos);

if (isValidWord(word)) {
words.push_back(word);
}

input.erase(0, pos + 1);
}

word = input.substr(0, input.length() - 1);

if (isValidWord(word)) {
words.push_back(word);
}

std::string lastWord = words.back();
words.pop_back();

for (const std::string& validWord : words) {
if (validWord != lastWord) {
std::cout « validWord « " ";
}
}

std::cout « std::endl;

return 0;
}
Помогите пожалуйста с решением.
Для примера, что я ввожу:
адам ева udfsy яблоко бог ева.
Программа выводит: адам яблоко бог
А должна выводить: адам бог ева.
Аноним 18/12/23 Пнд 09:22:49 #359 №2967974 
пашол нахуй))
Аноним 18/12/23 Пнд 09:43:36 #360 №2967991 
>>2967947
Не понимаю как из условия следует ожидаемый результат.
Я читаю и по мне при таком вводе должно вывестись:
адам ева бог ева
Аноним 18/12/23 Пнд 09:48:33 #361 №2967996 
image.png
>>2967947
Ну и т.к. я не понимаю, почему результат тот который ты ожидаешь, могу только такое дать.
Аноним 18/12/23 Пнд 09:56:53 #362 №2968004 
>>2967947
Перечитал условие.
Если понял его правильно, то подразумевается, что надо найти все "слова", отличные от последнего слова в исходной строке удовлетворяющие тому условию.
Тогда все равно результат должен отличаться и быть:
адам бог
Аноним 19/12/23 Втр 10:16:43 #363 №2968966 
Допустим у меня есть класс Mesh

class Mesh {
char memory_block;
vec3
positions;
int* indicies;
};

Что я хочу сделать:
- в memory_block = allocate ( pos_size + ind_size)
- positions = memory_block
- indicies = memory_block + pos_size

Вобщем мне нужно выделить память под две штуки, но я не хочу делать две аллокация, а просто сразу всё в один кусок запихнуть

Как такой класс Mesh написать используя современный с++, а не си с классами

начинаю понемногу с си пересаживаться на плюсы, и с казалось бы такой простой проблемой с памятью не могу разобраться, везде пишут что си с классами это пиздец говнокод, а я по другому даже хзы как сделать нормально
Аноним 19/12/23 Втр 13:26:45 #364 №2969088 
Я правильно понимаю, что всегда стоит юзать типы с фиксированным размером, по типу int16_t, если нет причин для обратного?
Аноним 19/12/23 Втр 13:27:36 #365 №2969089 
>>2968966
1) Класс сам для себя и выделяет единый, непрерывный кусок памяти и все свое нутро туда укладывает. Не путай инициализацию с выделением памяти (aka allocation).

2) >мне нужно выделить память
Это в любом случае не задача такого класса, как Mesh. Меши отдельно, менеджеры памяти отдельно.
Аноним 19/12/23 Втр 15:35:19 #366 №2969199 
>>2969088
наоборот
Аноним 19/12/23 Втр 15:39:18 #367 №2969204 
>>2969089
> Не путай инициализацию с выделением памяти (aka allocation).
Да я и не путал, я говорил про аллокацию которая будет где то в конструкторе меша

> Это в любом случае не задача такого класса, как Mesh. Меши отдельно, менеджеры памяти отдельно.
Менеджер памяти это аллокатор?

Какое я решение пока что нашел:
- position и indicies засунул в std::span
- мемори блок спрятал от юзера
- в конструктор прокидываю pmr аллокатор которого и прошу сразу большой кусок памяти выделить
- за выравниванием слежу ручками сам
- потом ручками вычисляю где должны находится поинтеры и инициализирую ими std::span'ы
Аноним 19/12/23 Втр 15:40:06 #368 №2969206 
>>2967947
спроси как какать
как сделать покакули
Аноним 19/12/23 Втр 19:11:15 #369 №2969498 
>>2969204
А нахуя тебе здесь аллокатор
Аноним 19/12/23 Втр 19:23:58 #370 №2969513 
>>2969498
Для будущего, если захочу аллокатор поменять
Сейчас конечно могу просто new оставить
Аноним 19/12/23 Втр 19:51:45 #371 №2969552 
>>2969513
Тогда сделай его шаблонным параметром и задай по умолчанию.
Аноним 19/12/23 Втр 19:59:43 #372 №2969560 
>>2969552
По умолчанию задал
В шаблон пихать не хочу, потому что меши будут разными типами, если разный аллокатор
И я их все в условный вектор запихнуть не смогу
Аноним 19/12/23 Втр 21:49:32 #373 №2969629 
>>2968966
фигней занимаешься
в с++ есть "встроенный" менеджер динамической памяти (вернее предоставляемый его рантаймом), вызываемый через глобальный оператор new
если ты хочешь изменить его поведение для конкретного класса то существует возможность перегрузки этого оператора
для написания классов-контейнеров, реализующих некие структуры данных, очень удобна еще одна возможность языка - а именно особая форма оператора new - placement new, позволяющая отделить механизм управления памятью контейнера от конкретного алгоритма реализующего структуру данных
НО
последние 2 возможности тебе нахуй сейчас не нужны, и вполне возможно даже и не понадобятся никогда, даже если ты будешь писать производительный код, и вообще знают про них только некоторые лошары-задроты
Аноним 19/12/23 Втр 21:50:03 #374 №2969630 
>>2969629
>вернее предоставляемый его рантаймом
предоставляемый рантаймом языка
Аноним 19/12/23 Втр 22:02:45 #375 №2969636 
>>2969629
зря я это написал, звучит как какое то нравоучение
надо было промолчать
Аноним 19/12/23 Втр 23:35:23 #376 №2969701 
image.png
image.png
Впервые столкнулся с чем-то подобным. Можете разжевать для нуба.
Пик1. Почему переменная sum, после выполнения цикла while поменяла значение? Заметил, что это происходит после считывания определённой строки из инпута (справа). Могу предположить, что это связано с передачей sum в функцию checkNearby (она передаётся по ссылке). Опять же, это всего лишь мои догадки.
Пик2. Почему комментирование массива visited вызывает Segmetnation fault? Массив при этом вообще нигде не используется.
Использую если что VS Code + gcc. До этого сидел на студии и таких приколов ни разу не было
Аноним 20/12/23 Срд 02:20:38 #377 №2969805 
>>2969701
>Почему переменная sum, после выполнения цикла while поменяла значение?
Потому что ты вылез за память на стеке выделенную для input и насрал в память переменных k, sum и visited.
>Почему комментирование массива visited вызывает Segmetnation fault?
Предположу, что если раньше ты срал в стэк до visited, то теперь ты срёшь в стек до line включительно, портя структуру самой строки line. Скорее всего в какой-то момент ты срёшь в указатель на внутренний c_str(), отчего у тебя он начинает смотреть на незамапленную память и page fault
---
1. Проверяй i не на line.size(), а на min(line.size(), n). И в цикле while тоде выходи после n итераций.
2. Сделай лучше input вектором строк, например.
Аноним 20/12/23 Срд 02:27:55 #378 №2969810 
>>2969805
Ну или у тебя во втором случае в k насралось другое число и ты тоже попал в незамапленную память, но тут тебе только ASAN или gdb скажут.
Аноним 20/12/23 Срд 02:34:25 #379 №2969816 
>>2969701
Вот тут неплохое объяснение как устроен стек, как на нём лежат массивы, и как в него можно срать чтобы получать с этого профит - https://xakep.ru/2019/09/20/stack-overflow/
Аноним 20/12/23 Срд 11:03:36 #380 №2970128 
изображение.png
С помощью каких инструментов был написан калькулятор для Windows 10?
Аноним 20/12/23 Срд 11:19:45 #381 №2970140 
>>2970128
https://github.com/microsoft/calculator
UWP
Аноним 20/12/23 Срд 12:35:09 #382 №2970245 
>>2970140
Работает медленнее, чем приложения на GDI?
Аноним 20/12/23 Срд 15:04:31 #383 №2970455 
>>2969816
>Продолжение доступно только участникам
Как ты сюда попал, маркетолух?
Аноним 20/12/23 Срд 15:47:41 #384 №2970531 
cover.jpg
Раздобыл самоучитель Шилдта 2000 года. Правда, дискеты в комплекте не было.

Как думаете, имеет смысл ознакомиться ньюфагу? Оригинальное издание вышло 25 лет назад.
Аноним 20/12/23 Срд 15:50:06 #385 №2970536 
>>2970531
На лабиринте пишут про эту книгу:

"Очень хочется классику! Таких книг больше нет!
Распечатайте пожалуйста!
Может можно под заказ оформить?"

"Интересно организованный самоучитель. Обычно такого рода книги начинаются с разъяснения синтаксиса языка, типов данных и т.д. Здесь же автор берет быка за рога и начинает сразу с объектно-ориентированного программирования в c++. Подробно изучаются классы, массивы, указатели, ссылки, перегрузка функций и операторов, наследование. Отдельные главы посвящены вводу-выводу, виртуальным функциям, шаблон, обработке исключительных ситуаций, приведению типов, пространству имен, библеотеке стандартных шаблонов. Есть упражнения. Уровень "полупрофи"."
Аноним 20/12/23 Срд 16:09:58 #386 №2970567 
>>2967912
Больше спасибо анон
Аноним 20/12/23 Срд 16:19:07 #387 №2970576 
>>2970531
Нет, без хотя бы 11 стандарта в помойку эту говно.
Аноним 20/12/23 Срд 16:22:56 #388 №2970577 
>>2970576
А если я после этой книги прочитаю что-то поновее?

Просто она в бумажном издании, досталась бесплатно, хочу ознакомиться. Все равно язык тот же самый, базовые вещи там вряд ли поменялись.
Аноним 20/12/23 Срд 17:11:44 #389 №2970649 
>>2970577
> досталась бесплатно
На помойке нашел? Не стоит привыкать к практикам, которые были в ходу до 11 стандарта.
Аноним 20/12/23 Срд 17:36:56 #390 №2970687 
>>2970649
>На помойке нашел?
Не.

>Не стоит привыкать к практикам, которые были в ходу до 11 стандарта
А что там за практики такие были, что их надо избегать?
В шапке треда большинство рекомендованных книг изданы до 2011 года. Шилдт там тоже кстати есть, только не 2000 года, а 2010.
Аноним 20/12/23 Срд 18:18:57 #391 №2970736 
>>2970687
Шапку читать тоже не рекомендуется
Аноним 20/12/23 Срд 18:28:13 #392 №2970744 
>>2970736
А что читать?
Аноним 20/12/23 Срд 18:54:19 #393 №2970766 
>>2970744
да не читай советы всяких ламеров с двача, ты бы сначал просто научился хотя бы hello world-ы писать а потом уже о чем-то говорил.
тебе С++ учить сейчас как раком для китая, если хочешь реально чему-то научиться сначал надо разобраться с Си, а потом может быть если тебе программировать понравится пойдешь и начнешь изучать плюсы.
Аноним 20/12/23 Срд 19:02:54 #394 №2970772 
>>2970766
>сначал надо разобраться с Си
Половина людей советует сначала разобраться с C, другая половина говорит, что это только помешает вкату в плюсы.

Я уже Питон знаю, если что. Какая-то база есть.
Аноним 20/12/23 Срд 19:19:51 #395 №2970784 
>>2970772
Питон и С++ ну ты сравнил.

Короче, если ты хочешь реально что-то знать, когда ты учишь Си ты должен понимать то как в принципе устроены некоторые моменты аж на уровне железа и ОС.

С++ берет все то что имеет Си и утилизирует это, добавляя сверху синтаксис и семантику, которая в итоге позволяет тебе писать код так чтобы он был близок к коду на чистом Си по производительности, но при этом, тебе не приходилось например работать напрямую с указателями.

Но указатели это чистый Си и ты их в С++ понять не сможешь если не разберешься сначал с Си. Понимаешь в чем проблема?
Аноним 20/12/23 Срд 20:17:14 #396 №2970841 
изображение.png
Ну так че, на чем мне UI под винду писать, чтобы и приложение было быстрое, и кнопочки были красивые, и без анальных лицензий? Что есть кроме UWP?
Аноним 20/12/23 Срд 20:25:38 #397 №2970849 
>>2970841
ImGUI есть
Аноним 20/12/23 Срд 20:25:56 #398 №2970850 
>>2969636
Да я в целом тоже самое хотел ему сказать. Что оно нахуй ему сейчас не нужно.
Аноним 20/12/23 Срд 20:26:28 #399 №2970851 
>>2970841
Qt уже советовали?
Аноним 20/12/23 Срд 20:29:40 #400 №2970853 
>>2968966
Так тебе надо просто написать конструктор который будет сам это за тебя делать и да тебе придется дважды обратиться к аллокатору если ты захочешь выделить память под объект. Сначал под класс Mesh, а потом в его конструкторе под indices.
Аноним 20/12/23 Срд 20:31:53 #401 №2970858 
>>2968966
Уточню на всякий случай что имею ввиду, что positions у тебя является вектором скорее всего из трех float поэтому тебе не надо выделять под него память, а можно использовать память со стека, поэтому я и говорю что сначала придется выделить под объект Mesh память, причем не важно со стека или с хипа.
Аноним 20/12/23 Срд 20:40:15 #402 №2970869 
>>2968966

А вообще если вот прям по С++-совски писать то лучше конечно будет вот так.
Поправьте если что-то пропустил.

#include <memory>

struct v3
{
float x;
float y;
float z;
};

class Mesh
{
Mesh(v3& positions, std::unique_ptr<int>&& indicies)
: m_Positions(positions)
, m_Indicies(std::move(indicies)) {}

private:
v3 m_Positions;
std::unique_ptr<int> m_Indicies;
};
Аноним 20/12/23 Срд 20:44:18 #403 №2970873 
>>2970851
А смысл его советовать? Дауны всë равно думают, что в Qt либо плати , либо открывай исходники. LGPL для них пустой звук.
Аноним 20/12/23 Срд 20:55:07 #404 №2970890 
image.png
>>2970869
>>2970858
>>2970853
Я может как то не понятно написал, но вобщем вот что я сделать хотел
Аноним 20/12/23 Срд 21:00:40 #405 №2970899 
>>2970890
У тебя здесь два указателя на одно и тоже место в памяти, в С++ там в принципе не принято делать
Аноним 20/12/23 Срд 21:03:03 #406 №2970903 
>>2970899
Не на одно место, indices сдвинут относительно начала
positions = memory_block
indices = memory_block + m*4
Аноним 20/12/23 Срд 21:03:49 #407 №2970906 
>>2970903
ну вот ты де сам написал у тебя memory_block в структуре указывает туда же куда указывает positions
Аноним 20/12/23 Срд 21:14:21 #408 №2970919 
image.png
>>2970906
Ну да, ну могу потом мемори блок вобще не хранить, просто храню чтобы потом память под ним подтереть удобно
А то вдруг я когда нибудь захочу местами память под positions и indices поменять местами, то не придется код переделывать и думать не сломаю ли я что нибудь этим

Пока что у меня структура как то там выглядит
Аноним 20/12/23 Срд 21:44:58 #409 №2970944 
image.png
>>2970841
Аноним 20/12/23 Срд 21:52:31 #410 №2970949 
>>2970899
>два указателя на одно и тоже место
Кусок памяти у него один непрерывный, а указатели указывают на разные места.

По каким-то необъяснимым причинам ему хочется выравнивать (aka align) нутро своего класса вручную. >>2969204
>- за выравниванием слежу ручками сам
Аноним 20/12/23 Срд 21:57:42 #411 №2970951 
>>2970949
>за выравниванием слежу ручками сам
тут я долбоёб просто

сам себя запутал, почему то думал что indices может неправильно выравнен быть
Аноним 21/12/23 Чтв 01:55:08 #412 №2971101 
>>2970744
>А что читать?
K&R выполняя все упражнения, 10 раз читаешь приложение А
Аноним 21/12/23 Чтв 01:56:23 #413 №2971102 
>>2970766
ты и есть ламер с двача, мы в одной яме с говном сидим, алсо кинул в тебя какашкой
Аноним 21/12/23 Чтв 02:09:01 #414 №2971111 
>>2970919
Почему ты думаешь, что аллокация - такая пиздец дорогая штука? Проще же сделать тупо два вектора, и потом, если оно именно из-за этой лишней аллокации тормозить будет, оптимизировать. Ты эти меши не на каждом кадре создаешь же, а хорошо если один раз в несколько минут. И создаешь их не миллионами, а максимум сотнями. Т.е. экономишь меньше миллисекунды, а геммороя получаешь вагон.
Аноним 21/12/23 Чтв 03:23:35 #415 №2971127 
Плюсовики к вам вопросик
Пилю тензорную либу
Мне нужно чтоб можно было инициализировать тензор при помощи многомерного массива, типа такого:
Tensor<int> t({3, 3},
{{1, 2, 3},
{4, 5, 6},
{7, 8, 9}}
);
Так как у меня тензор хранит все данные в одномерном массиве, то нужно входной многомерный массив вытянуть в одномерный
Вопрос как сделать произвольную вложенность этих самых std::initializer_list, какая сигнатура будет у такой функции
ПОдозреваю, что через параметры шаблона, но все равно не ебу
Аноним 21/12/23 Чтв 03:28:31 #416 №2971128 
>>2971127
Грубо говоря, нужно написать конструктор, который способен принять и обработать std::vector произвольной вложенности
Аноним 21/12/23 Чтв 03:39:59 #417 №2971131 
>>2970890
не еби себе мозги
просто сделай класс меш, в нем вектор позиций, и вектор индексов
и скорей всего этот самый примитивный вариант удовлетворит тебя по быстродействию
Аноним 21/12/23 Чтв 05:40:46 #418 №2971143 
>>2971111
> а геммороя получаешь вагон
Ну вот когда на сишечке это же писал, потратил минут 5 всего, да и в плюсах такая штука не долго пишется, если бы я сразу знал что делать
Это больше учебный пример, просто хочу разобраться как с памятью правильно работать
Аноним 21/12/23 Чтв 09:13:09 #419 №2971197 
>>2971143
В плюсах правильно с памятью НЕ РАБОТАТЬ.
За тебя все делают аллокаторы.
Даже new и delete - в современных плюсах этого быть не должно, только обертки над указателями.
Аноним 21/12/23 Чтв 11:11:32 #420 №2971281 
>>2971197
> В плюсах правильно с памятью НЕ РАБОТАТЬ.
Мне нужен системный язык, если в дизайне языке предполагается что работа с памятью должно быть болью, тогда у меня вопросы нахуя он такой нужен?
Аноним 21/12/23 Чтв 13:37:19 #421 №2971468 
>>2971128
>принять и обработать std::vector произвольной вложенности
Лень обдумывать в подробностях, но я примерно так чувствую, что в языке нет для этого средств.

>чтоб можно было инициализировать тензор
Я бы на твоем месте не выпендривался, а посмотрел бы документацию к математическим библиотекам на предмет того, какие бывают конструкторы у тензоров. Тут даже ставить библиотеки не требуется, просто посмотреть в документации(ях) сигнатуры конструкторов.
Аноним 21/12/23 Чтв 14:16:52 #422 №2971525 
>>2971281
>если в дизайне языке предполагается что работа с памятью должно быть болью
Боль - это не работа с памятью, а как раз автоматизация работы с ней. Представь, например, что у тебя не POD элементы, как в сишке, а класс с деструктором и остальным rule of 5 - тебе сразу надо писать как минимум деструктор, мув конструктор для всего контейнера, и это уже не пять минут. Потом в проект приходит новый чувак-олимпиадник и обзывает тебя лохом и сишечным пердуном, потому что на твоем контейнере не работают итераторы из STL, а ими писать модно и молодежно.
Аноним 21/12/23 Чтв 15:24:51 #423 №2971637 
>>2971197
В плюсах правильно работать как хочешь, это мультипарадигменный язык, там нет единой парадигмы "как надо". Можешь писать как в сишке, можешь на сишке с классами, можешь на ООП как в жабашарпе, можешь подобие FP как жабаскрипт. Последние два варианта сделаны в угоду моде, я лично не вижу смысла когда есть оригиналы, но раз есть, можешь и воспользоваться если хочешь, наличие лишних опций никогда не есть плохо. Плохо это когда макаки с последних двух вариантов лезут в кресты и кукарекают что надо как они привыкли, а кор-функционал первых опций "плохо и ненужно". Только лишь показывает узколобость макак и как я сказал, по сути ненужность этих модных фич в крестах.
Аноним 21/12/23 Чтв 16:28:36 #424 №2971699 
>>2971127
https://www.google.com/search?q=c%252B%252B+nested+initializer+list+site:stackoverflow.com
Аноним 21/12/23 Чтв 16:28:37 #425 №2971700 
>>2971128
>std::vector произвольной вложенности
А ты точно хочешь, чтобы пользователь твоего тензора был вынужден писать что-то вроде

std::vector<std::vector<std::vector<std::vector<std::vector<std::complex<double>>>>>> tensor_1;
// ...
Tensor tensor_2{tensor_1}

???
Аноним 21/12/23 Чтв 17:03:46 #426 №2971721 
>>2971700
Не, он будет передавать либо вектор, как ты написал, либо initializer_list, например {{1, 2, 3}, {4, 5, 6}}, что достаточно удобно. А эта хрень уже будет каститься в вектор
Аноним 21/12/23 Чтв 17:53:51 #427 №2971761 
>>2971525
Надо использовать rule of 0. Да и вообще не выебываться и использовать стандартные контейнеры и функции. Это гарант быстрой, надежной и гикбой работы приложений.
Аноним 21/12/23 Чтв 18:21:01 #428 №2971781 
>>2971761
> использовать стандартные контейнеры
> Это гарант быстрой, надежной и гикбой работы приложений
Тото их все кому не лень переписывают
Аноним 21/12/23 Чтв 18:36:28 #429 №2971797 
>>2971127
Ты лучше создай структуру в которой будет один вектор, а отдельным параметром передавай колличество его измерений.
А потом создай какой нибудь метод, который будет по переданному N колличеству параметров возвращать тебе значение из этой N размерной матрицы.

Для того чтобы реализовать функцию с переменным колличеством аргументов используй variadic template arguments.
Аноним 21/12/23 Чтв 18:42:33 #430 №2971799 
>>2971102
Поймал лицом

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

>>2971699
>>2971127
Бля затупил. В принципе это то о чем я писал выше, но только в STL.

>>2971781
Один умный хер кажется говорил о том, что STL не задезайнин быть быстрым.
Аноним 21/12/23 Чтв 19:32:17 #431 №2971823 
>>2971721
>например {{1, 2, 3}, {4, 5, 6}}, что достаточно удобно
Это удобным кажется на простейшем примере.
Начиная с некоторого N количество скобок в таких выражениях станет умопомрачительным.

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

Алсо, в реальном приложении, я предполагаю, тензор будет инициализироваться не магическими числами.
Аноним 21/12/23 Чтв 20:51:27 #432 №2971882 
image.png
image.png
https://github.com/chriskohlhoff/talking-async/blob/master/episode2/step_8.cpp

Вы говорили, вам тяжело читать сетевой код с сишными колбеками, да? А мне вот не тяжело совсем. И дело тут не в readability, а в нехватке оперативной памяти у читающих, который в голове не могут удержать пару-тройку раскинутых мест по назначению колбека, его вызова и самой функции назначенной колбеком.

А вот современный супер ASIO c++20 с корутинами, вообще шедевр (пикрил 1), да? Его читать у вас глаза не ломаются?!

И теперь каждый долбоёб, который не хочет тащить ASIO, но хочет юзать корутины, будет писать свои future и promise

Каким же с++ говном становится с каждой пятилеткой.

Костя из интел, согласен?
Аноним 21/12/23 Чтв 21:35:52 #433 №2971951 
>>2971882
Есть такая игруля культовая в определенных кругах - Dwarf Fortress, написана на няшной сишечке. На момент анонса в стиме игре было под 20 лет. И в анонсе она провисела года полтора до релиза.

Полтора года на то, чтобы прикрутить к стиму готовый, даже зрелый продукт. Это все, что нужно знать об удобстве няшной сишечки.
Аноним 21/12/23 Чтв 21:40:12 #434 №2971954 
>>2971951
А его не два колеки пилят разве? Тогда там счёт и на десятилетия мог идти
Аноним 21/12/23 Чтв 21:43:29 #435 №2971956 
>>2971954
Игра в любом случае была уже готова + на стим они выходили при поддержке издательства.
Аноним 21/12/23 Чтв 21:47:31 #436 №2971963 
>>2971956
>Игра в любом случае была уже готова
>dwarf fortress
мммм
Аноним 21/12/23 Чтв 21:55:34 #437 №2971975 
>>2971951
Я без понятия, как прикручивать игры к стимсу. Но тут может быть виновата архитектура. А я тебе говорю о локальных вещах в с++, от которых болят глаза. Да и просто сама уёбищность - через std::variant - определять сработал таймер, или прошло чтение? Пиздец... Это же просто безвкусица. Ну кто-то должен был остановиться и сказать: ну это просто не красиво, товарищи.
Аноним 21/12/23 Чтв 21:58:33 #438 №2971981 
>>2971975
Стим-релиз сильно отличался, они нихуёво интерфейс перелопачивали например. Короче он фигню сказал. Дварф фортресс в этом контексте ну никак не связан с тем какой там си язык
Аноним 21/12/23 Чтв 22:52:49 #439 №2972037 
>>2971981
>Стим-релиз сильно отличался
В свое оправдание могу сказать, что релиза я так и не дождался.

>Дварф фортресс в этом контексте ну никак не связан с тем какой там си язык
Связан тем, что на сях он написан и продолжает писаться. Причем связан - во всех смыслах этого слова.
Аноним 22/12/23 Птн 02:20:55 #440 №2972151 
>>2970455
А дальше и не надо. Дальше вам в реверс-тред.
мимо
Аноним 22/12/23 Птн 03:11:00 #441 №2972161 
В QT есть механизм сигнал-слоты. Как при нажатии на кнопку, сделать возможным передачу объекта? По-моему, там lambda-функция и у меня не получилось его передать.
Аноним 22/12/23 Птн 10:02:24 #442 №2972348 
image.png
Лол, нашел в код-конвеции unreal engine
Аноним 22/12/23 Птн 10:59:55 #443 №2972400 
>>2972348
с пробуждением
Аноним 22/12/23 Птн 11:09:01 #444 №2972409 
opressivelinuxmanuals.png
>>2972348
Да этим говном вообще всё пропитано.
Аноним 22/12/23 Птн 11:52:26 #445 №2972465 
Господа подскажите ньюфане
https://pastebin.com/DHSYeRHB

Получаю вот такой вывод
Ctor a
Ctor b
Copy Ctor a
Copy Ctor b
Dtor <--- откуда тут взялся деструктор?
=======
Dtor b <- Из вектора удаляется b
Dtor a <- Из вектора удаляется а
Dtor a <-- Почему тут такой порядок? Сначала же создана А потом Б
Dtor b т.е удаляться должо сначла Б потом А

g++ main.cpp -O0 main Компилироваю с флагом -O0 никаких оптмизаций быть не должно.

ca
Аноним 22/12/23 Птн 13:13:32 #446 №2972601 
>>2971882
Полностью согласен.
Добавлю только, что иногда современные фичи оправданы и удобны, иногда. Но по не понятной причине, как будто форс, они пихаются куда ни поподя, литерали с++26ооп головного мозга.
Аноним 22/12/23 Птн 13:39:40 #447 №2972662 
Как соптимизировать код?

std::string str = std::string("zalupa01234567890123456789") + std::string(const_char_ptr_variable);

Здесь создаются два prvalue объекта, каждый из них вызывает new внутри. Потом они складываются, создавая еще один prvalue объект с вызовом new. Хотелось бы, чтобы вызов new был только у переменной str.
Аноним 22/12/23 Птн 14:13:43 #448 №2972746 
>>2972662
Звучит как работа для string stream
Аноним 22/12/23 Птн 14:27:01 #449 №2972786 
>>2972662
Libfmt
Аноним 22/12/23 Птн 14:31:00 #450 №2972793 
#include <stdio.h>
static unsigned char massiv[] = { 0x80, 0x00, 0xa0, 0x34 };

int main()
{
unsigned short w16;
int i = 0;
w16 = (((unsigned short) massiv[++i])<<8) | massiv[++i];
printf("0x%08x\n", w16);
}

Угадайте, что выведет этот тест.
Аноним 22/12/23 Птн 16:40:39 #451 №2972948 
>>2971823
Ты прав, это скорее для того чтоб тестики писать, а так конечно никто инициализировать тензор в коде не будет
Аноним 22/12/23 Птн 17:11:18 #452 №2972968 
Нужен ли мне cmake, если у меня прога чисто виндосовская, и не расчитана на другие платформы?
Аноним 22/12/23 Птн 17:30:40 #453 №2972984 
>>2972968
Не нужен, но зависимости симейком подхватывать достаточно легко и удобно
Аноним 22/12/23 Птн 18:33:13 #454 №2973038 
>>2972793
выведет что ты долбоеб не знающий про точки следования и что i += i++ + ++i было баяном еще в 2003
Аноним 22/12/23 Птн 20:38:13 #455 №2973161 
>>2972793
У меня программа аварийно завершилась, вывело вот что:

terminate called after throwing an instance of 'std::undefined_behavior_exception'
what(): Undefined behavior invoked.
Аноним 22/12/23 Птн 22:31:59 #456 №2973286 
>>2972968
Если под студией, то sln - лучший вариант. С симейком студия глючно работает.
Аноним 23/12/23 Суб 00:03:07 #457 №2973338 
>>2972968
Если будешь выкладывать свой код на всеобщее достояние, то не помешает сделать симейк файлы.
Аноним 23/12/23 Суб 00:19:16 #458 №2973348 
>>2972968
нет конечно, студийные проекты сильно лучше работают
Аноним 23/12/23 Суб 02:22:07 #459 №2973432 
>>2972662
auto const_char_ptr_variable = "rhs";
std::string str = "zalupa01234567890123456789";
str.append(const_char_ptr_variable);
Аноним 23/12/23 Суб 06:17:20 #460 №2973454 
>>2973038
На днях буквально в книжке modern cpp/c++20 edition наткнулся на почти такое в примере.
Всмысле это был не пример UB, а пример якобы рабочего кода.
Аноним 23/12/23 Суб 06:19:15 #461 №2973455 
>>2973038
>про точки следования
Их кстате отменили.
Аноним 23/12/23 Суб 07:47:29 #462 №2973466 
>>2973455
аче всмысле
х + ++х теперь не уб что ли?
или наоборот х && ++х тоже стало уб лол
Аноним 23/12/23 Суб 09:04:55 #463 №2973471 
бля прочитал пиздец там конечно насрали 20 пунктов
как будто я не два инта складываю а ипотеку оформляю
Аноним 23/12/23 Суб 10:21:44 #464 №2973491 
>>2941891
Как думаете, есть смысл сейчас писать меседж брокер на юсервере? Я просто его трогал по работе не Яндекс , но думаю сейчас слишком сложная штука с избытком зависимостей для такой задачи
Аноним 23/12/23 Суб 10:26:34 #465 №2973494 
>>2943427
У меня буквально упрощённое первое задание было на собесе, вот и думай где бесполезная хуйня
Аноним 23/12/23 Суб 10:55:25 #466 №2973504 
>>2943427
Помню когда первую на скрине написал очень радовался за себя. А на вторую по-моему хуй забил лол
залётный пэхэпыня
Аноним 23/12/23 Суб 18:31:21 #467 №2973880 
unsigned char a = 255;
unsigned char b = 255;

int c = (unsigned char)a + (unsigned char)b;

std::cout << c;


Что выведет?
Аноним 23/12/23 Суб 20:45:08 #468 №2974109 
>>2973880
Проверь сам, сука.
Аноним 23/12/23 Суб 22:00:53 #469 №2974219 
>>2972968
Смейк дефакто стандарт и к нему все уже привыкли. Если ты пользуешься какими то своими ебланскими нонейм тулзами то ты еблан соответственно
Аноним 23/12/23 Суб 22:08:30 #470 №2974239 
>>2973880
Выведет 510
Аноним 24/12/23 Вск 00:14:02 #471 №2974489 
стэк вызовов во время работы программы находится в оперативной памяти или в процессоре?

Память кучи находится в оперативной памяти?
Аноним 24/12/23 Вск 02:19:52 #472 №2974652 
Анончики, объясните мне плез, вот я в винде скачал исходный код программы для линукс, чисто по изучать, поковыряться в нём

https://github.com/rncbc/qtractor

Запустил VS, открыл проект через Open Local Folder, что-то там студия ругнулась, что Qt кода не находит, это мне сейчас не важно на данном этапе, компилировать все равно не собираюсь. И вот у меня возник вопрос, что мне нужно сделать, чтобы студия просканировала проект, чтобы у меня в Class View показывало всю структуру классов с их методами, переменными и всем содержимым в открытом в данный момент файле?
Аноним 24/12/23 Вск 02:22:02 #473 №2974654 
>>2974489
Всё находится в оперативной памяти. Стек и куча - это всего лишь абстракции, чтобы программам было удобнее с работать с оперативной памятью. В процессоре находятся только регистры, в одном из которых адрес стека.
Аноним 24/12/23 Вск 03:14:54 #474 №2974670 
>>2974654
почему тогда стэк считается быстрее? как при обращении к памяти так и при её выделении?

выскажу догадку что стек просто чаще оказывается в кэше процессора.
с выделением памяти все понятно - у стека чтобы выделить нужное кол-во памяти это просто прибавить оффсет к адресу верхушки стека. с кучей надо пройти через всю хуйню через вызовы к ОС, чтобы она просканировала память и нашла запрошенное кол-во страниц памяти.
Аноним 24/12/23 Вск 03:54:08 #475 №2974694 
>>2974670
По выделению всё так.
При обращении к стеку достаточно прибавить к адресу стека из регистра известное при компиляции смещение, когда при обращении к куче надо взять из указателя в стеке ещё один адрес и обращаться уже к нему.
Аноним 24/12/23 Вск 06:05:34 #476 №2974727 
Анон, откуда ты Qt качаешь и все причендалы к нему? Заебался я, два часа ВПНы подбираю, какая то хуйня одна не стабильная одна из бесплатных
Аноним 24/12/23 Вск 06:17:22 #477 №2974729 
>>2974727
> два часа
> ВПН подбираю
Так купи платный нормальный и не трать свое время
Аноним 24/12/23 Вск 06:50:12 #478 №2974733 
>>2974729

Какой самый годный на твой взгляд из платных?
Аноним 24/12/23 Вск 06:59:03 #479 №2974734 
>>2974733
Я surfshark использую, но хзы лучший ли он, так как ничего кроме него и не использовал
Аноним 24/12/23 Вск 07:42:58 #480 №2974741 
>>2974734

Ну за 183 рубля в месяц можно взять в принципе, копейки. Ща, если через winsys2 не получиться поставить, то куплю. А ты ны кутях пишешь? Ставится норм он через этот впн, без проблем?
Аноним 24/12/23 Вск 07:47:11 #481 №2974743 
>>2974741
Неа, кути не тестил, не думаю что там какие то проблемы должны быть
Аноним 24/12/23 Вск 07:55:25 #482 №2974744 
>>2974743
Ну спасибо тебе за совет анончик, будем пробывать
Аноним 24/12/23 Вск 10:46:20 #483 №2974792 
>>2974727
Собери сам из исходников.
Часа два займет.
Исходники на гитхабе.
А так пленет впн.
Ещё попробуй залогиниться и отключить впн, вроде должно будет быстро качать.
Аноним 24/12/23 Вск 11:12:52 #484 №2974818 
>>2974792
> Собери сам из исходников.

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

> пленет впн.

Та он рвёт соединение, я его самым первым попробывал, пишет типа у меня торренты запущенны, хотя я всё по отключал и по закрывал
Аноним 24/12/23 Вск 11:30:18 #485 №2974834 
>>2974818
Попробуй все же залогиниться, начать качать, затем поставить на паузу, отключить впн и продолжить скачивание.
Аноним 24/12/23 Вск 12:32:49 #486 №2974946 
>>2974219
>msbuild
>ебалснкий нонейм тул
Окей
Аноним 24/12/23 Вск 13:26:47 #487 №2975012 
>>2974652
Перестать мучиться с голимой студией и переходить на иде креатор/силион/вскодиум с нормальной поддержкой симейка, которым твой проект и собирается.
Аноним 24/12/23 Вск 13:29:18 #488 №2975017 
>>2974670
Рискну предположить что обращение к памяти в куче медленное из-за того что к ней через pointer indirection надо обращаться. Плюс на стэке всё рядышком лежит и соответственно это более cache-friendly
Аноним 24/12/23 Вск 14:37:03 #489 №2975110 
>>2975012
> креатор

А как в нём открыть? В VS хотя бы есть open folder, а здесь чет нихуя не вижу такого... Пробовал открывать CMakeLists.txt, крашится нахой...
Аноним 24/12/23 Вск 16:35:12 #490 №2975315 
037c5f5993253f916450d1ec3263fb80.jpg
>>2974727
https://www.embarcadero.com/
Аноним 24/12/23 Вск 17:11:49 #491 №2975410 
>>2975315
Меня интересует в данный момент либо VS, либо Qt Creator
Аноним 24/12/23 Вск 19:09:09 #492 №2975665 
>>2975110
Точно так же как и любой проект.
Аноним 24/12/23 Вск 19:17:33 #493 №2975703 
>>2974946
Неприятно чурка майкрософтовская?
Аноним 24/12/23 Вск 22:57:11 #494 №2976098 
>>2974489
стек вызовов не кешируется в кешах процессора?
не знаю точно
Аноним 25/12/23 Пнд 02:52:01 #495 №2976471 
>>2974727
pacman -S qt6
Аноним 25/12/23 Пнд 03:52:54 #496 №2976487 
>>2976471
Где женские гормоны покупаешь?
Аноним 25/12/23 Пнд 04:56:58 #497 №2976495 
>>2976487
Телепаты в отпуске. Разверни свою гениальную мысль
Аноним 25/12/23 Пнд 10:32:00 #498 №2976669 
Что написать на Qt для портфолио? Хотел написать метод Рунге-Кутты с графической мордой для решения задачи Коши, но что-то залип очень
Аноним 25/12/23 Пнд 10:57:02 #499 №2976698 
>>2976669
Клиент серверный круд
Аноним 25/12/23 Пнд 14:23:34 #500 №2976890 
>>2975665
Так нужен же файл проекта, а там нету ниче такого
Аноним 25/12/23 Пнд 16:50:43 #501 №2977116 
>>2976890
Cmakelists это и есть файл проекта
Аноним 25/12/23 Пнд 18:04:30 #502 №2977271 
directx-icon.jpg
А что если UI-интерфейс под винду рисовать на DirectX, а окна и события брать из winapi? Это супер-мега быстрое приложение получится с красивым дизайном? Так кто-нибудь делал вообще?
Аноним 25/12/23 Пнд 21:11:54 #503 №2977464 
>>2977271
Ты только что имгуи.
Аноним 26/12/23 Втр 20:03:01 #504 №2979063 
Почему все переменные необходимо определять именно внутри .h файла ?
Аноним 26/12/23 Втр 20:12:15 #505 №2979070 
>>2979063
Если определить переменную в файле .cpp, будет UB.
Аноним 26/12/23 Втр 20:30:33 #506 №2979089 
>>2979070
>будет UB
каво ?
Аноним 26/12/23 Втр 20:31:15 #507 №2979090 
>>2979089
Undefined behavior.
Аноним 26/12/23 Втр 23:11:08 #508 №2979365 
>>2979070
Нихуя себе
Аноним 27/12/23 Срд 01:01:23 #509 №2979413 
изображение.png
Аноним 27/12/23 Срд 01:29:45 #510 №2979433 
>>2979413
> FIXED-POINT ARITHMETIC
Посмотрим, что скажет аффтар пикчи, когда при написании симуляций или игор у него всё будет тормозить.
Аноним 27/12/23 Срд 03:04:05 #511 №2979459 
Расскажите про использование структур данных в продакшене.
Я слышал такую пословицу, что использовать надо всегда вектор, а если юзаешь другой контейнер, то будь добр объяснить почему. Еще видео смотрел, где Страуструп говорил мол предпочитайте вектор листу. Хоть у него вставка в середину линейная, но поскольку все элементы рядышком, вектор хорошо кешируется.
Хэш- таблица вообще гениальный контейнер, но не так часто используется. А в многопоточке любят использовать очереди.
Вот все, что я знаю. Поправляйте и дополняйте, очень важно все это знать.
Аноним 27/12/23 Срд 03:12:48 #512 №2979461 
>>2979459
Т.е. вектор можно юзать вообще без вопросов?
Это так не работает. Надо всегда понимать, почему следует выбрать ту или иную структуру данных, хоть вектор, хоть не вектор.
Аноним 27/12/23 Срд 11:28:38 #513 №2979626 
>>2979459
Изучи основные временные пространственные затраты основных контейнеров и вопросы отпадут.
Аноним 27/12/23 Срд 13:03:51 #514 №2979702 
>>2979626
Получится, что хэш-таблица лучше всех. Что еще скажешь?
Аноним 27/12/23 Срд 13:15:44 #515 №2979713 
>>2979702
Задача обойти ключи в коллекции по возрастанию. Хэш-таблица всë ещë лучше всех?
Аноним 27/12/23 Срд 15:01:26 #516 №2979822 
>>2979459
Надо просто на практике смотреть что эффективнее. Почти всегда это вектор, даже если кажется что это не так и несмотря на все теории про сложность и тп, вот и всё.
Аноним 27/12/23 Срд 16:19:11 #517 №2979922 
>>2979702
Ну если ты к такому выводу приходишь то тебе и объяснения не помогут.
Аноним 27/12/23 Срд 16:20:14 #518 №2979928 
>>2979922
Помогут, я прислушиваюсь к советам опытных. Давай, жги.
Аноним 27/12/23 Срд 17:20:13 #519 №2980061 
>>2979928
Новогодний Репертуар/кю - тут и так понятно, LIFO/FIFO.
Ордеред мапа - много дописываем, много ищем, требуется хранить данные в отсортированном виде для обхода.
Анордеред мапа - дописываем редко, создали один раз и пользуемся, много ищем, порядок не нужен, обходить не собираемся.
Аноним 27/12/23 Срд 19:06:01 #520 №2980237 
image.png
>>2980061
>Новогодний Репертуар
Простите, что?
Аноним 27/12/23 Срд 19:12:38 #521 №2980249 
>>2980237
Stack
Аноним 27/12/23 Срд 20:15:34 #522 №2980342 
аноны, подскажите, есть ли какие-нибудь гайды \ примеры проектов на ❄️, где можно будет использовать самые разные фичи языка (новых стандартов, stl)
надо вспомнить язык, теорию нашел (но буду рад годным советам по источникам, полезной структурированной информации), а вот что писать вообще хз.
помню давно где-то видел типа рулетку, делаешь ролл и пишешь проект соответствующий, но найти не смог
Аноним 27/12/23 Срд 20:39:27 #523 №2980359 
16834167325620.png
>>2980342
Аноним 27/12/23 Срд 21:17:19 #524 №2980415 
С
❄️
Аноним 27/12/23 Срд 21:50:29 #525 №2980459 
>>2938659 (OP)
Сап.
У меня имеется класс Object3D с только одним нас интересующим полем -- position. Оно может меняться через соответствующий сеттер.
К нему можно по идее прикрепить 3д модель/меш, у которой/которого есть атрибут матрицы, отвечающей за её/его 3д трансформацию (то есть за перемещение и т. д.).
Position -- обычный вектор (одномерный массив).
Матрица -- массив векторов.


Суть проблемы.
Если у Object3D нет меша, то изменяется в сеттере только его поле position.
Если у этого класса есть меш, то изменяться в сеттере должны и меш, и позиция.

Нужон самый оптимизированный способ.

Я думал, что можно будет сделать один публичный setter0 и две приватные функции (setter1 & setter2 условно).
Таким образом, при добавлении меша к объекту можно установить публичному сеттеру (просто заголовок метода) адрес нужного приватного сеттера.
Но я где в инете услышал, что такие выкрутасы -- низкопроизводительное дело чушпанов.
Аноним 27/12/23 Срд 22:09:01 #526 №2980483 
>>2980459
Опять преждевременными оптимизациями занимаешься?
Сделай сначала так, как заработает и упрется в перфе в это место спросишь на геймдеве.
Или на ревью тебе скажут что ты Тулуп.
Аноним 28/12/23 Чтв 04:19:34 #527 №2980770 
>>2980459
Звучит как плохая идея
Зачем тебе трансформацию хранить то в меше как матрицу, то в объекте как позицию?

Ну вот условно я начну твоим классом пользоваться, начну трогать сеттер, а у меня то одно меняется, то другое

Я бы на твоём месте все трансформации перенес в 3д объект, а не в меш
хотя я не очень понимаю что ты сделать хочешь
Аноним 28/12/23 Чтв 04:27:27 #528 №2980771 
16964626251400.mp4
В следующем семаке ❄️ начинаются, сидеть хуйню вашу учить, так бы и писал на С чистом и горя б не знал
Аноним 28/12/23 Чтв 08:58:30 #529 №2980836 
>>2980342
Можешь скочать какой-нибудь проект тысяч на 10 строк, игру например, и попытаться отрефакторить его под ❄️ 20 стандарт.
Аноним 28/12/23 Чтв 10:49:20 #530 №2980924 
Анон, посоветуй нескучную книгу по OpenGL с примерами на ❄️, чтобы на практике изучать OpenGL.
Аноним 28/12/23 Чтв 10:55:15 #531 №2980929 
>>2980771
Так пиши все на сях, ну забрали у тебя пару ключевых слов, сишное подмножество все также работает.
Думаю твой препод, который считает что ❄️ это С с классами, будет очень рад видеть такой код.
Аноним 28/12/23 Чтв 11:02:48 #532 №2980931 
>>2980924
https://learnopengl.com/
Аноним 28/12/23 Чтв 12:09:42 #533 №2981068 
>>2980770
Хачу, чтобы Object3D -- был базовым для остальных.
И чтобы юзер мог его просто создать кое-как юзать. А так как он по умолчанию не имеет 3д модели, то, следовательно, и не должен менять матрицу просто так при своём изменении.

>>2980924
Всё на русском:
https://habr.com/ru/post/310790/
http://triplepointfive.github.io/ogltutor/
Олсо https://docs.gl/ .

Кста, чэд, в /gd/ есть трэд по графическому программированию. Я оттуда.
И специально для тебя я ещё свои пиратские архивы расчехлил
https://vk.com/doc552950054_671036801
https://vk.com/doc552950054_665784067
Аноним 28/12/23 Чтв 12:17:37 #534 №2981079 
>>2980771
Антибаза
Аноним 28/12/23 Чтв 12:46:34 #535 №2981105 
>>2981068
> Хачу, чтобы Object3D -- был базовым для остальных.
Так а как у тебя объект 3д без меша существует?
Аноним 28/12/23 Чтв 12:49:21 #536 №2981112 
>>2981068
Спасибо за такую годноту по OpenGL.

Кстати, аноны, мое увлечение дифференциальынми уравнениями, алгеброй, геометрией и ТФКП как сочетается с трехмерной графикой? На стыке этих областей можно создавать что-то интересное?
Аноним 28/12/23 Чтв 12:51:27 #537 №2981114 
>>2981112
> алгеброй, геометрией
Точно да, остальное смежно
Аноним 28/12/23 Чтв 13:22:09 #538 №2981134 
>>2981105
Просто базовый класс. Точка в пространстве.
На его основе есть другие классы (светильники и т. д.).

>Кстати, аноны, мое увлечение дифференциальынми уравнениями, алгеброй, геометрией и ТФКП как сочетается с трехмерной графикой?
Отлично.

>На стыке этих областей можно создавать что-то интересное?
Можно, но надо быть гением, ибо очень много тем уже избито и которые ты должен будешь знать наизусть и уметь делать.
Дальше классных спецэффектов и красивых фрагментных шейдеров ты вряд ли дойдёшь. Самые тяжёлые математические проблемы 3D графики решены (излучение (как в рейтрейсинге или рэймарчинге), 🎁еризация, фильтрация текстур, трансформации в пространстве, расчёты освещения и прочие магические для быдла штучки).

Главная задача Белый Медведьов GPU -- сделать так, что всё работало быстро. А для таких оптимизаций нужны глубокие познания computer sience:
https://2ch.hk/gd/res/907734.🕛#917484
https://2ch.hk/gd/res/907734.🕛#917487
Тебе до всего этого ещё 🎁и и 🎁и.
Аноним 28/12/23 Чтв 15:21:05 #539 №2981240 
>>2980459
перегрузка
Аноним 28/12/23 Чтв 15:25:34 #540 №2981243 
>>2980771
а потом подобные ему начинают в миллионный раз реализовывать ооп на коленке вручную пиша vtable или делать adt на макросах, считая себя при этом неебатца крутыми
Аноним 28/12/23 Чтв 15:27:31 #541 №2981245 
>>2980924
зачем изучать то что мертво
хотя этот вопрос можно задать всему треду, разумеется
Аноним 28/12/23 Чтв 15:31:04 #542 №2981257 
>>2981112
если в россии, пиздуй в военку, создавать 3d тренажеры для танков и боевых самолетов
gd - нахуй
не троллю
Аноним 28/12/23 Чтв 16:09:30 #543 №2981330 
kidzonya0.mp4
>>2981245
OpenGL -- относительно простой и эффективный.
D3D 12 & Vulkan -- очень сложное и кропотливое занятие, в которое без опыта лучше не лезть. Это как asm.

>>2981257
Какбе в РФ есть Saber interactive, Белый Медведьатывающая Saber3D, есть ещё Nau engine, Белый Медведьываемый VK Group, и Unigine, с которой всё понятно.
Олсо существуют навигаторы от Яндекса и 2ГИСа, которые ведут набор графических програм_мистов, не говоря уже о gd Застольех, которым нужно править говённые рендереры уринала и унити.
Аноним 28/12/23 Чтв 17:20:10 #544 №2981418 
>>2981134
Ну хуй знает чел. (Я если что к гд никакого отношения не имею ибо та еще залупа)
Но ты говоришь что решено, а открытые реализации этого есть? Я говорю хотя бы про кор решения, которые почти всем нужны, или как всегда завезено проприетарно под самую новую карточку за пол лямца пынефантиков?
Аноним 28/12/23 Чтв 17:29:06 #545 №2981430 
>>2977116
> Cmakelists

Анон, с ориентируй, а почему в класс-вью при открытии таким способом ничего нету, ну чтоб я мог видеть дерево классов со списком всех функций, переменных?
Аноним 28/12/23 Чтв 18:50:29 #546 №2981572 
изображение.png
изображение.png
>>2981418
Весь кор, и даже значительно больше, уже решено.
>открытые реализации этого есть?
Есть и в учебниках, и на Новогодний Выпуске, и в открытый интернет-статях.
>или как всегда завезено проприетарно под самую новую карточку за пол лямца пынефантиков?
Конечно, никакая коммерческая компания не будет никому давать свои наработки, ибо конкуренция.

НО гейдевелоперы, и не только, выпускают в открытый доступ на SIGGRAPH презентации по нанотехнологичным алгоритмам и нанотехнологичным решениям проблем рендереров.
Это кладезь новейших исследований в области 3д
https://advances.realtimerendering.com/

Ты там, конечно, исходный код не увидишь, но подробно узнаешь, что и как работает
Аноним 28/12/23 Чтв 18:51:43 #547 №2981574 
>>2981418
То о чем он писал еще кармак порешал в большинсве. Все есть - читай доки. Они кстати рилейтед статьи в научных журналах публиковали и публикуют, а не в игровых.
Аноним 28/12/23 Чтв 18:52:55 #548 №2981577 
>>2981430
Потому что ты выблядок уже заебал тролитб тупостью и абу тебя проклял.
Аноним 28/12/23 Чтв 19:05:55 #549 №2981592 
>>2981572
Я понимаю, что в учебниках есть вообще все, ну кроме реализаций. А трудность как раз в этом, от момента когда вговне моченый напишет книгу до её реализации на конкретной железяке может пройти и 5 и 50 лет, а когда до опен сурса это дойдет и дойдет ли вообще - открытый вопрос.
А что касается твоих статей, знаем мы их. Сам же говоришь, что компании конкурируют, никто в этих статьях тебе ничего не рассказывает кроме:
1 страница: вот у нас есть вот это формула и вот эта, мы че то там сделали и заебись.
2-100 страница: а вот собственно и наше заебись, заебись здесь и здесь, все ссылки в описании.

Я это собственно к чему, ты сказал, что гением нужно быть чтобы там создать что-то, но дело то скорее в реализации, и вот тут то и поле непаханное и можно залетать с двух ног.
Я так кстати, все еще со своей табуретки рассуждаю
Аноним 28/12/23 Чтв 19:22:55 #550 №2981606 
>>2981577

Ну я открыл через cmakelists, проект загрузился, а хуле в classview текущего файла нет ничего? Или ты такой же нубас как и я, не в курсе? Хуле тогда сам троллишь?
Аноним 28/12/23 Чтв 19:30:31 #551 №2981625 
Анончики, кто шарит в Qt Creator, подскажите, почему при открытии вот этого проекта

https://github.com/rncbc/qtractor

у меня в Class View ничего не отображается?
sage[mailto:sage] Аноним 28/12/23 Чтв 19:36:54 #552 №2981646 
>>2981625
Попробуй его открыть в Visual Studio.
Аноним 28/12/23 Чтв 21:39:48 #553 №2981839 
kidzonya4.mp4
>>2981592
Верно рассуждаешь, без смехуёчков.
Желаю удачи в бескрайнем мире графического программирования и полёта фантазии.
И не забывай заглядывать в тематический тред в /gd/.
Там тебя радушно примут.
Аноним 28/12/23 Чтв 21:54:24 #554 №2981858 
>>2981646
Там такая ж хуйня
Аноним 28/12/23 Чтв 21:59:15 #555 №2981863 
>>2981330
чел уже то что тебе с натугой приходится перечислять то что осталось в россии от геймдейва и вообще от кодинга условной 3d графики (за исключением военки) как раз и означает что геймдев в россии мертв
алсо, вообще основная кормушка геймдейва в россии это были мобилки последние несколько лет, а все мобилкоделы сьебали с россии
так чтож спок
Аноним 28/12/23 Чтв 21:59:21 #556 №2981864 
>>2981646

А не ты ли мне изначально советовал выкинуть богомерзкий VS и поставить божественный Qt Creator там с этим типа проблем нету?
Аноним 28/12/23 Чтв 22:08:31 #557 №2981881 
>>2981863
Это не натуга.
Это андерграунд.
А 3д графоний, за исключением макак-модельеров, всегда был андеграундом.
Аноним 29/12/23 Птн 13:27:24 #558 №2982341 
>>2981881
Я ни слова не понял.
Аноним 29/12/23 Птн 18:13:09 #559 №2982752 
ВЫШЕЛ! ВЫШЕЛ!! ВЫШЕЛ!!!
https://gcc.gnu.org/gcc-14/changes.🕛
Аноним 29/12/23 Птн 18:59:03 #560 №2982816 
>>2982752
Как же Абу тебя выебал
Аноним 29/12/23 Птн 20:16:32 #561 №2982892 
изображение.png
изображение.png
Прочитал поэкспериментировать с объявлениями сущностей без определений. Не пойму, почему в первом примере все работает, а во втором ошибка линкера - неразрешенный внешний символ?
Аноним 29/12/23 Птн 20:28:28 #562 №2982908 
Extern работает только с объявлением глобальных переменных? А как же тогда объявить не определяя локальную?
Аноним 29/12/23 Птн 22:52:56 #563 №2983144 
17034896958930.mp4
Винду целую написали на чистом си без классов, а тут каждой второй макаке они понадобились вдруг, пошли нахуй со своим ❄️
Аноним 29/12/23 Птн 22:54:12 #564 №2983146 
>>2982892
Действительно, в чем же проблема
ref используется до объявления. Как это по твоему должно работать?
Аноним 29/12/23 Птн 23:49:27 #565 №2983214 
>>2983146
После объявления же extern int& ref. Но уже не важно, я понял, что extern только для глобальных сущностей.
Аноним 30/12/23 Суб 00:01:20 #566 №2983243 
А если мне надо в декструкторе записать строчку в лог и тут я вижу, что файла лога не существует, как мне быть, если бросать исключения из деструктора не принято?
Аноним 30/12/23 Суб 02:37:57 #567 №2983400 
>>2983243
Использовать нормальный логгер, где такой хуеты не будет
Аноним 30/12/23 Суб 07:03:21 #568 №2983434 
>>2938659 (OP)
Анончики, как намутить генерацию облака частиц, максимально близкого к реальным облакам?
В играх это как-то реализовано ведь. Следовательно - математическая модель и код есть. А дальше надо лишь разобраться с его сложностью и сделать генератор тех самых облаков.
Пока думаю. что можно сделать случайное распределение, а дальше в виде массива сортировать ячейки по параметру, чтоб ячейки с большими значениями "притягивали" ячейки с маленькими и так перераспределяли пространство.
Аноним 30/12/23 Суб 08:04:04 #569 №2983440 
>>2983434
В большинстве игр это делается через спрайты.
Аноним 30/12/23 Суб 08:30:50 #570 №2983441 
>>2983434
https://habr.com/ru/companies/unigine/articles/674186/

облака разными бывают...
Аноним 30/12/23 Суб 10:28:40 #571 №2983454 
>>2983440
А в мультиках пиксар?
Аноним 30/12/23 Суб 11:08:18 #572 №2983470 
1.png
2.png
3.png
4.png
Анон, как Белый Медведьотать архитектуру этой программа по заданию? Я нихуя не понимаю. Первое задание кое-как сделать при помощи примененного несколько раз паттерна observer, а с многопоточкой вообще пиздец какой-то. Написал очередь сообщений, перед входом в которой стоит накопитель команд, который сбрасывает команды пачками. Кроме команд в сообщении передается число count, равное числу потоков. Каждый поток получает сообщение при помощи top() и декрементиирует число count, когда это число равно 0 (последний поток получил сообщение), сообщение удаляется из очереди. Но с архитектурой у меня тут просто Тулуп. Как это сделать красиво?
Аноним 30/12/23 Суб 11:08:54 #573 №2983471 
5.jpg
>>2983470
Вот так я применил очередь сообщений.
Аноним 30/12/23 Суб 12:35:09 #574 №2983511 
>>2983471
Инвалид, почему почерк такой убогий?
Аноним 30/12/23 Суб 23:25:40 #575 №2984351 
>>2981112
> мое увлечение дифференциальынми уравнениями, алгеброй, геометрией и ТФКП как сочетается с трехмерной графикой?
Никак почти что.
Алгебру и геометрию достаточно знать в том объеме, чтобы ориентироваться в справочнике для инженеров. Желательно - в англоязычном.
Матан и прочие дифуры нужны постольку, поскольку они суть язык физики (в частности, оптики и физики света).

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

Энивэй, большая часть из этого реализуется и используется на компухтере приблизительным образом, а не в виде аналитических формул. Копай в сторону численных методов и вычислительной математики.
Аноним 30/12/23 Суб 23:48:03 #576 №2984365 
Сап, задам свой дебильный вопрос. Студентота третьего курса провинциальной высшей шараги по прогерской специальности. Есть два года, которые я могу проебать с пользой, например, получить какой-нибудь навык. Не могу определиться какой.

С одной стороны хочется вкатиться в нейронки, но там нужна матан, линал, но на лекциях я смотрел Голубой Огонёки, а на семёнарах, когда нужно было Читать у доски, в основном писал под диктовку препода. От этого есть ощущение, что это всё не моего ума дела и я ниосилю.

С другой, у меня периодически возникает интерес к тому, чтобы задрочить ❄️, а в месте с ним задрочить алгосы и архитектуру компика, сети и остальное из komputer sainc. Но если с матешей я умею матрицы перемножать, то тут вообще пиздец. Я чувствую, что когда я дойду до главы по указателям и не осилю, то просто обоссусь и буду плакать весь день.

Что выбрать из этих двух? Помогите, пожалуйста.
Аноним 30/12/23 Суб 23:54:53 #577 №2984380 
>>2983470
интересные задания и полезные, преподу респект
Аноним 31/12/23 Вск 00:56:12 #578 №2984419 
>>2984380
Задания охуенные, но мне сложно что-то архитектуру придумывать.
Аноним 31/12/23 Вск 11:24:58 #579 №2984549 
IMG2337.jpg
image.png
> Call to consteval function '...' is not a constant expression
Аноним 31/12/23 Вск 11:50:26 #580 №2984553 
Посоветуйте какой-нибудь молодой опенсорсный проект на ❄️, к которому можно присоединиться и чтобы было интересно. Я красноглазик.
Аноним 31/12/23 Вск 23:00:54 #581 №2985040 
Дорогие плюсомакаканы, помогите еблу утиному, как можно в сдл отрендерить анимку из кадров в отдельных файлах? Пишу читалку одного формата, в нём записаны имена файлов с кадрами и фпс, читать - не проблема, а вот зарендерить - проблема, думал может в какой-то массив можно сгрузить эти кадры, но был послан нахуй ибо ни surface, ни texture ты массивом не сделаешь, а с диска начинаешь читать - пердит и обмякает примерно через 30 секунд после запуска плеера.
Аноним 01/01/24 Пнд 13:59:44 #582 №2985255 
qt-logo.png
Итак, скачал qtcreator из раздела Новогодний Выпуск на Новогодний Выпуске как тут предлагали выше (12 версия). Была версия для MinGW и для MSVC. Сам MinGW посмотрел - мне не понравились его сборки, туда то 🐍 пихают, то симейк, то еще бог весть что. При том что у меня 🐍 и симейк и так стоят уже в нужных мне директориях, вот это бесит. В общем скачал для MSVC, и я так понял разница с версией для MinGW там только в изначальной настройке набора? Отлично подключился qtcreator к собранной мною ранее библиотеки qt6 static, прямо plug and play. Теперь я разбираюсь в этих комплектах и могу подключить пятую, шестую, статическую, динамическую, какую угодно. Надеюсь эти знания ценны для устройства на работу десктоп-Белый Медведьом. Самое забавное из того, что я заметил, компилятор MSVC выводит ошибки в кодировке 866, а nmake (виндосовский аналог cmake) в 1251. А в выпадающем списке кодировок для выходных данных разных инструментов можно выбрать что-то одно. Поэтому кракозябры будут в любом случае. Непонятно мне следующее. Я посмотрел с помощью sizeof размеры разных виджетов, большинство из них 40 байт. В связи с этим мне не понятно, зачем их создавать не на Новогодний Репертуаре? Скорее всего внутри этих классов и так есть обращение в куче. Но в большинстве примеров и учебных пособий их создают с этим богомерзким new и подключают к иерархии parent - child, типо смотрите какая прикольная штука.
Аноним 01/01/24 Пнд 15:40:03 #583 №2985305 
Стоит ли заниматься алгебраической теорией кодирования? Она сейчас применяется на каких-то работах? Чем больше погружаюсь в эту тему, реализуя разные кодовые алгоритмы, чем больше кажется, что это хуйня какая-то бесполезная.
Аноним 01/01/24 Пнд 16:43:07 #584 №2985353 
>>2985255
В настройках есть галочка с фиксом проблемы с кракозябрами, то ее поискать надо. Чё то в выводе.
Аноним 01/01/24 Пнд 16:44:09 #585 №2985356 
>>2985255
Как ты себе представляешь приложение с виджетами на Новогодний Репертуаре?
Аноним 02/01/24 Втр 19:24:46 #586 №2986417 
1-22.jpg
Сап, нуждаюсь в документации по opengl, кто-нибудь может может подсказать какие-то материалы(желательно на русском языке)?Заранее благодарен
Аноним 02/01/24 Втр 19:45:19 #587 №2986450 
>>2986417
> желательно на русском языке
ахахах
Ахахахах
АХАХАХАХАХ
Аноним 02/01/24 Втр 19:51:56 #588 №2986453 
>>2986450
Да, такое хуй существует
Аноним 03/01/24 Срд 07:56:56 #589 №2986944 
> 2024
> модули все еще остаются в мечтах

Уже даже не смешно, как будто кто то саботаж по отношению к языку совершает
Аноним 03/01/24 Срд 10:15:15 #590 №2986984 
>>2986944
Надо всю стандартную библиотеку разбить на модули, чтобы их можно было по одному импортировать или я что-то неправильно понял?
Аноним 03/01/24 Срд 13:02:38 #591 №2987195 
>>2986944
Нинужная хуета.на мсвц работает, кстати, так что думойте
Аноним 03/01/24 Срд 13:26:07 #592 №2987211 
>>2987195
А должен работать в с++
Аноним 03/01/24 Срд 13:26:40 #593 №2987213 
>>2986944
Так они есть. Просто все в рот ебали переписывать кучу кода под них.
Ну и выглядят они как говно. Я хотел просто писать import zalupa и не думать о связывании, хуязывании и тому прочем.
Аноним 03/01/24 Срд 14:13:44 #594 №2987256 
> в плюсах настоящие программисты, не то что ваши макаки в вебе
> 4 года не могут сделать рабочие модули

И сразу:
> ря, это все компиляторы виноваты
> ря, это все симек виноват
> ря, это комитет все виноват
Аноним 03/01/24 Срд 14:22:03 #595 №2987262 
>>2987256
Да, интересно язык развивают. Теоретики, которые не умеют программировать, пишут стандарт, а всякие васяны его пытаются реализовать.
Аноним 03/01/24 Срд 14:31:21 #596 №2987274 
>>2987256
>4 года
О них говорят уже лет 20 же, я программирую меньше.
И это не самая простая задача для разработчиков компиляторов, иначе давно бы сделали.
Аноним 03/01/24 Срд 14:46:17 #597 №2987301 
>>2987274
> И это не самая простая задача для разработчиков компиляторов
Но что то у других получается
Аноним 03/01/24 Срд 23:37:16 #598 №2988161 
Что такое LLVM, можно простыми словами? В гугле везде каша понаписана.
Аноним 03/01/24 Срд 23:44:19 #599 №2988164 
>>2988161
Если совсем по-тупому, это набор готовых либ и тулз для создания компиляторов.
Аноним 03/01/24 Срд 23:47:50 #600 №2988169 
>>2988164
А зачем нам создавать кучу компиляторов, у нас есть проверенные временем gcc и msvc? Чтобы написать очередного убийцу плюсов?
Аноним 03/01/24 Срд 23:56:13 #601 №2988175 
>>2988169
Не только очередные убийцы плюсов, многие языки юзает какие-то компоненты ллвм, даже динамиаодрисня типа руби.
Аноним 04/01/24 Чтв 00:30:14 #602 №2988207 
>>2988161
Компилятор состоит из нескольких больших компонентов, если очень образно - это фронтенд, некоторые выделяют миддл-энд и бэкенд.

Фронтенд занимается анализом твоего говнокода и переделыванием его в некий Intermediate Language, платформо-языконезависимый.

Миддл-энд занимается оптимизацией этого IL, превращая твои охуенные вирши в некий mov eax, 2; ret;

Бэк-енд занимается генерацией полноценного платформозависимого бинарного кода из этого IL.

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

Итого - если ты решил написать компилятор языка PETOOH - то тебе надо только написать конвертер PETOOH -> LLVM IL, а оптимизацию и генерацию бинаря ты получишь бонусом. В случае с ГЦЦ это реально (опенсорц) но на порядок сложнее, т.к. гцц для этого изначально не предназначен и очень сильно завязан с фронтендом.
Аноним 04/01/24 Чтв 02:28:48 #603 №2988264 
>>2988207
> языка PETOOH
Но он же интерпритируемый.
Аноним 04/01/24 Чтв 04:14:38 #604 №2988279 
image.png
>>2938659 (OP)
Вот мне не хватает какой-то книжки(или курса) типо как Python Cookbook у питонистов. Книжки где будут разбираться по очереди все идиомы и мелкие бест практисы. НО эта книжка обязательна должна быть 20-23 стандарта, потому что как я замечаю, многие вещи уже неактуальны.
Я вот сегодня копался от нехуй делать в расширениях вскода и там нашел расширение со сниппетами всяких стльных алгоритмов, думаю прикольно -- потом смотрю -- последние коммиты 6-8 лет назад. Так эту всю хуйню уже переделывать надо что ли?
Ну вот я думаю, хуй с ними со сниппетами, но мне бы погрузиться нормально в современный идиоматичный код со всеми новинками стл, в идеале чтобы уже и под 23 стандарт, чтобы не устарело пока дочитаю. Есть что-то подходящее?
Аноним 04/01/24 Чтв 10:30:32 #605 №2988350 
>>2988169
Куча компиляторов не нужна, нужна куча языков. LLVM это компилятор промежуточного кода в бинарный. Причем этот промежуточный код документирован, таким образом в него несложно преобразовать любой язык, даже выдуманный тобой. Для этого оно и существует, чтобы подмять под себя все языки. Это как игровой движок Unity, на нем легко разрабатывать игры, но все попадают в зависимость от движка, его хозяина барина. Так и тут, легко разрабатывать новый язык и все лезут на халяву, но все языки попадают в зависимость от LLVM. Короче, ловушка с сыром на тупых крыс, думающих, что сыр бывает бесплатным.
Аноним 04/01/24 Чтв 11:13:23 #606 №2988370 
>>2988350
Поясни за платность llvm-ного сыра плз. Его и гугл, и майки, и интел используют, и кучка языков под некоммерческими организациями - где ловушка-то?
Аноним 04/01/24 Чтв 12:18:54 #607 №2988420 
>>2988350
То есть этот IL был придуман авторами LLVM? Я почему-то думал, что он всегда был и все компиляторы си и плюсов были на нем построены. А так получается у gcc свой IL, у msvc свой. То есть LLVM это фреймворк. Осталось понять почему он называется виртуальной машиной.
Аноним 04/01/24 Чтв 13:25:42 #608 №2988491 
>>2988420
Он так не называется
Аноним 04/01/24 Чтв 13:37:49 #609 №2988499 
>>2988491
Он так называется.
Аноним 04/01/24 Чтв 13:45:56 #610 №2988503 
Я понял почему виртуальная машина. Создавая компилятор на этом фреймворке, ты разрабатываешь только платформонезависимые оптимизации, то есть как в жабе, ну вы поняли да?
Аноним 04/01/24 Чтв 13:51:56 #611 №2988509 
Да не, просто сначала пытались сделать виртуальную машину, но в результате получилось что-то другое, а переименовывать лень.
Аноним 04/01/24 Чтв 15:12:59 #612 №2988578 
>>2988279
Современный идиоматический код - это С++17.
На 20 начнут писать года через 2-3. На 23 - лет через 5-6.
Аноним 04/01/24 Чтв 15:49:15 #613 №2988603 
>>2984365
Второе.
По алгосам много книг есть.
Аноним 04/01/24 Чтв 15:50:27 #614 №2988605 
>>2986417
Здесь -> >>2981068
Аноним 05/01/24 Птн 01:52:20 #615 №2989433 
Блин, вот вроде на плюсах, всё что угодно можно написать, но идей последнее время вообще нет. Сижу, задачки решаю
Аноним 05/01/24 Птн 03:10:25 #616 №2989462 
>>2988578
Мещерин свой самый крайний продвинутый курс начал читать с ориентацией на 20 стандарт. Мне кажется это знак, что сейчас надо под 20 стандарт подбирать материалы.
Про 23 я наверное реально загнул...
Аноним 05/01/24 Птн 03:22:01 #617 №2989466 
>>2989433
Напиши свой ecs движок и простой опенгльный рогалик на его базе. Естественно всё оптимально на шаблонах. Всё на crtp естественно без виртуальных функций.
Аноним 05/01/24 Птн 05:44:06 #618 №2989501 
Чем спп лучше пидораста?
Аноним 05/01/24 Птн 05:48:09 #619 №2989503 
image.png
>>2989501
Так раст - игра же такая
Аноним 05/01/24 Птн 05:51:43 #620 №2989504 
17015147358723.jpg
>>2989503
Ответ неверный!
Аноним 05/01/24 Птн 06:06:14 #621 №2989508 
Анон, как в CMake прервать можно выполнение скрипта в нужном мне месте? Чет не могу этого ни в документации, ни в гугле найти
Аноним 05/01/24 Птн 10:28:13 #622 №2989603 
изображение.png
>>2989508
Две секунды в гугле
Аноним 05/01/24 Птн 12:18:45 #623 №2989649 
>>2989603
пасиб анонче
Аноним 05/01/24 Птн 13:43:14 #624 №2989739 
Линукс мастдай. Лучше винапи ничего нет. Посиксы, хуесиксы, какие-те питреды, непонятная бедушная хуетень.
Аноним 05/01/24 Птн 14:28:57 #625 №2989808 
>>2989739
>Лучше винапи ничего нет
кроме экосистемы Mac.

Нет, серьезно.
Стоит лишь преодолеть свой иррациональный страх перед vendor lock и твои волосы станут мягкими и шелковистыми, как Тулуп младенца.
Ограниченный набор инструментов, кроме известных недостатков, все же и решает устраняет огромный ворох проблем. В первую очередь это проблемы выбора, но также и знание о том, с какой конкретно платформой ты работаешь развязывает руки для оптимизаций, невозможных в рамках дроча на кроссплатформенность.

Да, дорогие мои, кроссплатформенность - это тоже рамки, и еще какие.
Аноним 05/01/24 Птн 14:48:05 #626 №2989852 
>>2989433
>на плюсах, всё что угодно можно написать
На голых плюсах пишут библиотеки, фреймворки, API и т. п. Конкретное прикладное пишется уже поверх этого.
Аноним 05/01/24 Птн 18:07:53 #627 №2990222 
>>2989852
а автокад на чём написан?
Аноним 05/01/24 Птн 20:02:23 #628 №2990401 
image.png
>>2990222
Не рылся в его исходниках, честно говоря.

Но даже то, что на пикрил помимо прочего указан C++, надо понимать так, что он писан не на голимых плюсах. Даже если у них там какое-то предубеждение против сторонних библиотек и все на homemade велосипедах, проект такого масштаба практически невозможно реализовать без библиотек как таковых. Как минимум у них самописные велосипеды скомпонованы в библиотеки.

Никуда от этого не уйти.
И это один из первеших вопросов для анона вроде >>2989433 в чем смысл жизни, вселенной и вообще чё я пишу вобще, библиотеку общего назначения или что-то конкретное прикладное?
Аноним 05/01/24 Птн 20:43:42 #629 №2990450 
Что почитать/посмотреть, чтобы ответить на вопросы "awareness of some fundamental concepts, such as system calls and multithreading". Очень подробно не надо. На втором курсе мы многое на асме писали, в том числе системные вызовы, но мне лень пересматривать подробные лекции. Сейчас хватит чего то обзорного
Аноним 05/01/24 Птн 22:07:29 #630 №2990556 
>>2989501
не навязывает применение идиом и абстракций
хочешь исопльзуй не хочешь не используй
Аноним 05/01/24 Птн 22:47:17 #631 №2990572 
>>2990556
> не навязывает применение идиом и абстракций
Страуструп и core guidelines настаивает
Просто на него всем похуй
как и ему на язык
Аноним 06/01/24 Суб 03:21:52 #632 №2990690 
>>2990401
Чел, ты хуйню несёшь. Автокад написан на плюсах. Всё. Точка. Дохуя софта написано на плюсах, а не только библиотеки. У меня отец работал над автокадом, когда свалил в сша. Но это другая история
Аноним 06/01/24 Суб 03:46:25 #633 №2990695 
А как можно "рыться в исходниках" автокада? Он ж не опенсорсный.
Аноним 06/01/24 Суб 14:51:55 #634 №2991064 
>>2990690
>Автокад написан на плюсах. Всё. Точка.
Инклуды там есть?
Графику они как выводят?
Математика чем считается?

>>2990695
>А как можно "рыться в исходниках" автокада? Он ж не опенсорсный.
Вероятно никак. Но раз уж кто-то додумался именно такой пример привести, то приходится как-то гадать и додумывать исходя из.
Аноним 06/01/24 Суб 15:33:25 #635 №2991092 
>>2991064
Чел ты дурак? Какие инклюды какая графика? Вся математи это си/плюсы. Рендереры на плюсах или си и пишутся. Видео дрова на си. А ты просто серишь.
Аноним 06/01/24 Суб 15:48:30 #636 №2991105 
>>2991092
Да это какой-то зумер, который вкатвыается в АйТи. Решил тут поучить всех
Аноним 06/01/24 Суб 16:04:19 #637 №2991117 
>>2991092
Чел, ты дурак. Я тебе про фому, ты мне про ерему.
Математика, графика и многое другое в плюсах - это библиотеки, еб твою мать.
На плюсах библиотеки или на чем другом, речь вообще не об этом. А об том, что написание библиотеки - это совершенно другой вид программирования и проектирования, чем проектирование и создание прикладной программы с использованием готовых библиотек. Тебя ебалом в букварь ткнуть чтоле?
Аноним 06/01/24 Суб 16:14:06 #638 №2991131 
17022944576251.png
>>2991117
что я только что прочитал
Аноним 06/01/24 Суб 16:14:13 #639 №2991133 
Какую книгу из вашей шапки взять вкатуну? Про Прату нашёл что мол у него не слишком много расписано, а по остальным двум книгам что? Есть кто читал и подскажет?
Аноним 06/01/24 Суб 16:15:46 #640 №2991137 
>>2991092
Конкретно топик стартеру >>2989433 я даю подсказку, что можно не ебать никому мозги про то, что его покинула Муза, а просто взять какую-нибудь небольшую либу и запилить для нее оболочку на современных плюсах.
Для чего и требуется понимание, что ты пишешь либу/оболочку, а не что-то другое.

И такой проект не стыдно будет на гит хабе показать, может даже им станет кто-то пользоваться.
Аноним 06/01/24 Суб 16:15:49 #641 №2991138 
>>2990695
>>2991064
>Вероятно никак.
Поймите уже базовый принцип работы любой, сука, программы.
Аноним 06/01/24 Суб 16:21:28 #642 №2991146 
Хуй знает, зачем эти два шиза доказывают друг другу очевидные истины.
Аноним 06/01/24 Суб 16:47:24 #643 №2991168 
>>2991137
Что такое оболочка?
Аноним 06/01/24 Суб 16:59:36 #644 №2991179 
ah9U38Cflqw.jpg
кто работает в qt creator, я скачал эту хуйню и не понимаю : компилятор скипает ввод данных и завершает программу. условно, если мне нужно иницииализировать переменную, записать в нее данные и вывести ее, он не запишет туда данные и завершит программу(втф?)
скрин вот

еще блядь как открыть проект на нем? я открываю main.cpp файл, а он его как текстовый редактор считывает и не дает собирать и компилить
Аноним 06/01/24 Суб 17:08:52 #645 №2991189 
16430527907851.jpg
>>2991179
>как открыть проект
>открываю main.cpp
мб если хочешь открыть проект надо открывать проект
не знаю чё те ещё посоветовать
Аноним 06/01/24 Суб 17:11:08 #646 №2991191 
>>2991189
ну я создаю консольное приложение (проект без qt), в папке кроме main.cpp пару файлов cmake.
Аноним 06/01/24 Суб 17:18:43 #647 №2991198 
>>2991179
>using namespace std

Просто в Qt включена защита от даунов.
Аноним 06/01/24 Суб 17:21:13 #648 №2991200 
ебать на каникулах тред в говно скатывается

>>2991179
Если у тебя cmake проект, то главный файл отвечающий за него это CMakeLists.txt файл лежащий в руте проекта
А вобще в нормальных ide ты просто открываешь папку со своим проектом и он автоматом всё должен открывать
Аноним 06/01/24 Суб 17:34:55 #649 №2991209 
>>2991198
додян, в Qt шаблон с подключением стандартной библиотеки)
ты в свои же штаны насрал, слабоумный

>>2991200
>в нормальных ide
)
поэтому я написал тут >>2991179
>кто работает в qt creator
Аноним 06/01/24 Суб 17:36:28 #650 №2991212 
>>2991209
>кто работает в qt creator
тогда ответ никто
никто в нем не работает
Аноним 06/01/24 Суб 17:46:02 #651 №2991223 
>>2991212
мужики, если вы на 50 уроке симпл кода в С++ и про qt нихуя не слышали, то не значит, что в нем никто не работает(
Аноним 06/01/24 Суб 17:46:41 #652 №2991225 
>>2991223
Работа в НИИ приборостроения это не работа
Аноним 06/01/24 Суб 17:48:27 #653 №2991226 
>>2991225
делать задачки на codewars вот работа))

а так вообще мимо, это не гос контора, потому что qt заблокирован в Russia
Аноним 06/01/24 Суб 17:51:45 #654 №2991231 
>>2991226
> qt заблокирован в Russia
Как и винда, думаешь все министерства уже пересели на линукс?

> это не гос контора
Извини, тогда негосударственный НИИ\завод

>делать задачки на codewars вот работа
тебе хоть платят за это?
Аноним 06/01/24 Суб 17:57:31 #655 №2991237 
>>2988279
Мне никто не ответил, но я понял, что должен прочитать полностью
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
Аноним 06/01/24 Суб 17:57:38 #656 №2991238 
>>2991231
>Как и винда, думаешь все министерства уже пересели на линукс?
ты реально думаешь, что госки на винде?....

>тебе хоть платят за это?
мужик, открой вакансии C++ и посмотри востребованность владением QT параши и потом задавай вопрос себе "нахуя он нужен", а не мне
Аноним 06/01/24 Суб 18:02:33 #657 №2991242 
>>2991238
>ты реально думаешь, что госки на винде
я тебе больше скажу, я это знаю
может конечно конкретно в вашем НИИ по другому

> открой вакансии C++ и посмотри
сколько из них не НИИ\заводы? очень мало
Аноним 06/01/24 Суб 18:05:34 #658 №2991247 
>>2991242
>я тебе больше скажу, я это знаю

хз, именно по госкам - в последние полгода-год просто на убунту всех пересаживают

>может конечно конкретно в вашем НИИ по другому
я не в НИИ)

>сколько из них не НИИ\заводы? очень мало
qt не требуется:
1) в геймдеве
2) в бэкэнде
Аноним 06/01/24 Суб 18:06:31 #659 №2991249 
Есть идеи нахуя два школьника сверху, один из которых настолько нулевой, что проект запустить не может, обсуждают с умными ебальниками что происходит в НИИ?
Аноним 06/01/24 Суб 18:08:13 #660 №2991251 
>>2991249
о, наконец не школьник, ну просвяти меня в работу в QT
высри хоть что-то дельное, и я реально признаю, что ты тут самый умный
Аноним 06/01/24 Суб 18:09:18 #661 №2991253 
>>2991247
>1) в геймдеве
>2) в бэкэнде
3) Системщине
4) Iot
5) Компиляторы и всё с ними связанное
6) БД
7) Драйвера
8) Машоб


>>2991249
> один из которых настолько нулевой, что проект запустить не может
каво
Аноним 06/01/24 Суб 18:13:02 #662 №2991262 
>>2991253
ты норм перечислил, я надеюсь с этим списком никогда в жизни работать не буду, особенно с драйверами и компиляторами)
Аноним 06/01/24 Суб 18:15:40 #663 №2991267 
>>2991262
А чем сейчас занимаешься если не секрет
Аноним 06/01/24 Суб 20:00:49 #664 №2991392 
>>2991133
вкатуну куда? ты в 2к23 году собираешься в плюсы что ли вкатываться? а справка из дурки у тебя есть? бабка оставила квартиру + пенсия по шизе? на что ты жить собираешься?
Аноним 06/01/24 Суб 20:03:30 #665 №2991394 
>>2991223
>мужики
я не мужик, член у меня есть, но я его только чтобы поссать использую, оче удобно
хз к кому ты обращаешся
с++ кстати в отличие от местных чмонь я знаю на уровне
Аноним 06/01/24 Суб 20:09:40 #666 №2991400 
>>2991179
Открой "сборка", там выбери "запуск", открывать в консоли. Кутевый лог не умеет в инпут.
Аноним 06/01/24 Суб 20:11:01 #667 №2991403 
>>2991251
Ну вообще VK и МойОфис ищут кутевиков.
Но да, как кутевик ответственно заявляю: 90% вакансии в НИИ залуп.
Аноним 06/01/24 Суб 20:11:50 #668 №2991405 
>>2991251
>просвяти меня в работу в QT
https://www.youtube.com/watch?v=dxzDtQuHgbg
ну вот интервью с руssким челиком который работал внутри qt, рассказ о текущей обстановочке че там и как
Аноним 06/01/24 Суб 20:13:57 #669 №2991407 
>>2991253
охуенчик, а теперь представь что из этого списка осталось в россии
я тебе скажу - 80% всей этой разработки сьебало за кордон за последние 2 года
СВО как раз сильней всего по крестовикам ударило если что
теперь у нас голое поле, РАБоты нету в принципе
Аноним 06/01/24 Суб 20:39:24 #670 №2991416 
>>2991407
спасибо что напоминаешь о грустном
Аноним 07/01/24 Вск 10:28:17 #671 №2991705 
>>2991403
Кутевик, скажи, что отвечать на собеседовании, когда спрашивают, какими проектами вы занимались?
Аноним 07/01/24 Вск 12:12:16 #672 №2991790 
>>2991705
Какой то глупый вопрос.
Те, которыми и занимался и называешь.
Или ты про мои хочешь услышать? В основном там десктопные круды + утилиты для работы с устройствами через сетевые протоколы/usb.
Аноним 07/01/24 Вск 12:25:55 #673 №2991807 
>>2991168
Например png++ и PNGWriter это c++ оболочки (wrapper) для libpng (написана на сях).
Аноним 07/01/24 Вск 12:48:55 #674 №2991850 
>>2991790
Да я никакими не занимался, я вкатун, мне надо напиздеть.
Аноним 07/01/24 Вск 14:21:24 #675 №2991995 
>>2991133
Прату
Аноним 07/01/24 Вск 15:56:32 #676 №2992103 
>>2991133
>Про Прату нашёл
Про Прату нашел - найдешь и про остальное. Хотя бы в паре предыдущих тредах поглиди через ctrl f.
Аноним 07/01/24 Вск 16:27:30 #677 №2992157 
>>2992103

А чем прата вообще хорош перед остальными книгами для начинающих, хотя бы перед теми что то же в списке, в чем его фишка?

мимо другой анон, то же нуб
Аноним 07/01/24 Вск 16:41:00 #678 №2992175 
>>2991850
Сделай себе акк на ХХ и смотри резюме кутяшников.
Аноним 07/01/24 Вск 18:36:43 #679 №2992359 
>>2991392
Кто тебе сказал что у меня нету работы и я без денежного обеспечения? Я тебе сказал зачем мне плюсы? Ну вот и иди нахуй, тупое животное, это не JS тред чтобы предсказывать что-то там.

>>2991995
Серьезно? После всех отзывов в инете что у него недостаточно инфы ты напишешь это с надеждой что я прям так и буду читать его? Хоть пару слов бы почему.

>>2992103
Нашёл что Липпманн неплох, а вот по Страуструпу 0. Пара невнятных отзывов и нытьё что ниасилил. А про прошлые треды не подумал, разве так много вкатунов в плюсы? В любом случае, гляну, спасибо за наводку.

>>2991179
CMakeLists.txt или .pro файл открывай, а не файл с кодом.
По поводу вводы ХЗ чё посоветовать, кроме как запускать собранный exe из консоли. Можешь настройки ковырнуть.
Аноним 07/01/24 Вск 19:48:38 #680 №2992483 
>>2992157
Он хорош тем, что я его читал, и он мне понравился.
У Праты всё просто, понятно и подробно.

>мимо другой анон, то же нуб
Аноним 07/01/24 Вск 21:21:59 #681 №2992672 
>>2992359
>Ну вот и иди нахуй, тупое животное
Ебать ты лошара, ирл бы уже лежал в луже крови визжа от боли от заточки в почках, а я поехал бы зону топтать, но это ничего, ведь ты сука сдохнул бы в мучениях.
Аноним 08/01/24 Пнд 00:54:33 #682 №2992846 
тих тих маленькие
Аноним 08/01/24 Пнд 03:18:11 #683 №2992906 
>>2992483

А стандарты более свежие одинадцатого, этого похуй? Не так важно для нуба?
Аноним 08/01/24 Пнд 10:16:19 #684 №2993049 
А зачем читать книги, если есть документация и код можно писать просто читая её.
Аноним 08/01/24 Пнд 10:35:36 #685 №2993076 
>>2993049
> зачем читать книги
чтобы обучится писать на с++
> документация
ты про стандарт языка? сколько он тысяч страниц там?

> код можно писать просто читая её
говно код, да
Аноним 08/01/24 Пнд 13:16:13 #686 №2993197 
>>2993076
Шиз, ты никогда не научишься писать код читая книги.
Аноним 08/01/24 Пнд 14:32:39 #687 №2993283 
>>2993197
какие интересные утверждения только в треде не найдешь
Аноним 08/01/24 Пнд 14:37:14 #688 №2993287 
>>2993049
Добавлю ещё, что чат гпт уже существует, через который легче усваивать нужную инфу без графомании и неприкладной хуйни.
>>2993076
>чтобы обучится писать на с++
Хм, наверное я писал на каком-то выдуманном языке свою пету.
>говно код, да
Ах точно, это же всё говнокод)

>>2993197
Двачую по сути.
>>2993283
Толсто чувак. прекращай
Аноним 08/01/24 Пнд 14:40:32 #689 №2993290 
>>2993287
М, пожалуй если и читать, то только о том, как именно и почему работают стоковые функции, операторы и т.д. и прочий comp science
Аноним 08/01/24 Пнд 14:46:31 #690 №2993294 
>>2993287
> свою пету
при чем тут твои лабы?
Аноним 08/01/24 Пнд 14:59:40 #691 №2993302 
>>2991790
> В основном там десктопные круды
Какие БД использовали, были ли ORM или сам запрос писал?
> утилиты для работы с устройствами через сетевые протоколы/usb
Какие классы Qt использовал для написания этих утилит?
Аноним 08/01/24 Пнд 16:20:49 #692 №2993377 
>>2993302
> > В основном там десктопные круды
> Какие БД использовали, были ли ORM или сам запрос писал?
Где-то голые запросы, где-то самописная кодогенеративная ОРМ, так же QXOrm, но там не взлетело без покупки. Mssql и postgres.
В мире кути орм стандартной нет, как и мире плюсов, так что чаще всего юзали голые запросы/репозиторий.
> > утилиты для работы с устройствами через сетевые протоколы/usb
> Какие классы Qt использовал для написания этих утилит?
Я только QTelnet и QFtp знаю что древний кал, лучше нету. Ещё писал сокеты на QSocket. Тулзы для юсб писал на питоне и го.
Аноним 08/01/24 Пнд 17:08:21 #693 №2993476 
image.png
Паскаль умер. Да здравствует Паскаль!
Аноним 08/01/24 Пнд 21:56:31 #694 №2993889 
>>2992906
Одиннадцатый стандарт -- это БАЗА, с которой можно спокойно обходиться (как минимум новичку).
Новые стандарты откроешь для себя в специализированных учебниках и на ютабе. Разница в стандартах не прям значительная. К томуж СиПлюсПлюс -- обратно-совместимый.
Аноним 08/01/24 Пнд 21:58:57 #695 №2993895 
>>2993476
Соболезную дельфинам и pasскодерам
Аноним 08/01/24 Пнд 22:08:29 #696 №2993918 
1704740910081.jpg
>>2993889
> СиПлюсПлюс -- обратно-совместимый
Аноним 08/01/24 Пнд 23:45:12 #697 №2994063 
>>2993889
С жопой страуса он обратно совместим
Аноним 09/01/24 Втр 03:33:05 #698 №2994260 
>>2993918
>>2994063

Так а че читать тогда пацаны? Прату один хуй?
Аноним 09/01/24 Втр 03:34:45 #699 №2994261 
>>2994260
У меня задача на этот год освоить более-менее кути плюсы и Juce
Аноним 09/01/24 Втр 15:55:13 #700 №2994793 
animation.gif
>>2993918
>>2994063
Ну, в обучении это не суть важно.

>>2994261
Дабериего, Прату, либо Липпмана; выбор в учебниках не большой. Для ахринительного старта хватит их.
Пробелы закроешь pet-проектами, ютабом и документацией.
Аноним 10/01/24 Срд 12:56:47 #701 №2995883 
>>2992672
Забыл где сидишь? Тут если кто-то такое пишет, то только от бессилия, ведь в жизни хуй на улицу выйдет.

Двачер угрожающий расправой это смешно.
Аноним 10/01/24 Срд 16:49:06 #702 №2996152 
1000004232.jpg
>>2992672
>>2995883
> когда посмотрел 2 серии слово пацана
Аноним 11/01/24 Чтв 14:55:06 #703 №2997558 
image.png
Какой же базовый создатель у нашего языка.
Аноним 11/01/24 Чтв 16:23:29 #704 №2997701 
15535796363300.jpg
>>2997558
язык настоящих базовичков
двачеры ахуенные bro 11/01/24 Чтв 16:54:42 #705 №2997756 
на теме можно и закончить
Аноним 11/01/24 Чтв 17:52:58 #706 №2997857 
о чем тред какая тема
Аноним 11/01/24 Чтв 19:37:11 #707 №2998053 
Загадка всему треду - где посмотреть изменения поддержки стандартов у компилятора MSVC? На размышление даётся неограниченное количество времени.
Есть вот такая хуйня, не обновлялось с марта прошлого года:
https://github.com/MicrosoftDocs/cpp-docs/blob/main/docs/overview/visual-cpp-language-conformance.md
Есть вот такая хуйня в STL майков:
https://github.com/microsoft/STL/wiki/Changelog
С ахуительными приписками к каждой фиче:
> When MSVC and IntelliSense implement this Core feature, this will automatically "light up" the STL's CTAD for them too.
Есть также приписки типа:
> for Clang 17
Но я в тоже время вижу у самого шланга написано про то что до сих пор даже в 18 шланге под Виндой полноценно не работают корутины и модули, это уже прошлый стандарт, если что, лол. У MSVC они точно работают.
Так же есть вот такая хуетень, тоже не понятно как это спроецировать на компилятор MSVC:
> https://github.com/microsoft/STL/projects/8
Аноним 11/01/24 Чтв 20:12:21 #708 №2998108 
>>2998053
https://en.cppreference.com/w/cpp/compiler_support
Аноним 11/01/24 Чтв 20:15:45 #709 №2998117 
>>2998108
Так там инфа из первой ссылки в моём посту, инфа годовалой давности. Видимо они тоже не смогли найти другой, лол.
Аноним 11/01/24 Чтв 23:38:28 #710 №2998515 
>>2998053
Просто они поняли, что начиная с 20х крестов что-то пошло не туда. Натащили говна и рады
Аноним 12/01/24 Птн 00:01:54 #711 №2998540 
>>2998515
Самые ламповые плюсы были в C++03. Дальше пошла наркомания.
Аноним 12/01/24 Птн 18:39:25 #712 №2999509 
image.png
image.png
Мнение? Подводные в использовании?
Аноним 12/01/24 Птн 20:18:56 #713 №2999629 
>>2999509
Если тебе нужны такие масштабы и производительность, что ты начал смотреть на юсервер, то скорее всего в вашей компании уже есть местный велосипед с похожим функционалом и командой поддержки.
Если нет, то он тебе и не нужен.
если ты думаешь что в Яндексе все микросервисы на нем: нет, это совсем не так
Аноним 12/01/24 Птн 21:58:35 #714 №2999792 
>>2999629
Мне просто нравятся корутины без co_await
Аноним 12/01/24 Птн 22:44:51 #715 №2999832 
>>2999792
Ты ещё наверное безлактозное молоко пьешь, да?
Аноним 12/01/24 Птн 23:10:18 #716 №2999856 
image.png
image.png
image.png
>>2999832
Вот тут ты вообще промахнулся. Я живу в пикрилах. Вот сено для нашей коровы, вот горы вокруг. Пью я только парное молоко
Аноним 13/01/24 Суб 00:11:03 #717 №2999947 
>>2998515
Скорее компиляторы пошли не туда. Сейчас кресты фактически голый стандарт без поддержки компиляторами.
Шланг на Винде неюзабелен, до сих пор не может С++20 реализовать, а на пердоликсе вообще кресты не котируются выше C++17. MSVC не понятно на каком свете, у них для IntelliSense используется EDG вместо компилятора - соответственно обе IDE майков вынуждены ждать это говно, а юзеры наблюдать непонятные ошибки IntelliSense и 4 года ждать пока заработает подсветка синтаксиса у модулей, которые компилятор поддерживает уже хуй знает сколько лет.
Систем сборки нет нихуя, одна хуже другой - один только cmake чего стоит, где скрипты на непонятном языке генерируют через ninja проект для студии, такой комбайн даже ради троллинга не придумать.
Стандартизированных либ нет - каждый дрочит как хочет, а бустоёбы вообще в очко ебутся, когда это говно надо собрать на хуй пойми каком компиляторе.
Был бы единый компилятор, реализующий фичи сразу за комитетом и имеющий встроенную системы сборки - был бы идеальный ЯП. А так имеем выбор между говном и мочой - кресты и раст.
Есть ещё неведомая хуита - zig, где пердолики собрались ради самого процесса написания компилятора, а не создания удобного ЯП. Я как-то попробовал "лучшую замену clang" в виде zig cc, какой-то фееричный пиздец с хэллоуворлдом на 800 кб и сборкой по 30 секунд, приправленный отсутствием документации.
Аноним 13/01/24 Суб 00:44:40 #718 №2999970 
>>2999947
>на хуй пойми каком компиляторе
На хуй пойми каком их не соберёшь обычно без заплаток. Но тут сам дуроёб, коли их тащишь, если не уверен в среде сборки и её неизменности
Аноним 13/01/24 Суб 08:12:40 #719 №3000158 
>>2999509
>Мнение?
Ахуенная штуку
>Подводные в использовании?
В плюсах

>>2999629
>Если тебе нужны такие масштабы и производительность
Ты о чем вобще говоришь?
>Если нет, то он тебе и не нужен
Альтернативы кроме самописных велосипедов не подскажешь?
Аноним 13/01/24 Суб 08:33:24 #720 №3000167 
>>2999947
>и имеющий встроенную системы сборки
Как же вы заебали.
Аноним 13/01/24 Суб 14:24:53 #721 №3000426 
>>2999856
Это где такое красивое?
Аноним 13/01/24 Суб 15:17:21 #722 №3000473 
>>3000426
Это восточноевропейская помойка - польша. Карпаты
Аноним 13/01/24 Суб 19:02:29 #723 №3000931 
>>2999947
Блин я 15 лет назад пытался вкатиться в плюсы и плюнул на это дело из-за описанного. Думал что с тех пор что-то изменилось, но видимо нет
Аноним 13/01/24 Суб 19:30:08 #724 №3000982 
>>3000931
И куда в итоге вкатился?
Аноним 13/01/24 Суб 21:29:37 #725 №3001190 
>>3000982
В веб очевидно
Аноним 14/01/24 Вск 20:24:59 #726 №3002631 
dae5b4ca49819e4d9286a61fc5fcb1b8.jpg
Проясните за ситуацию с ASRL.

Я заметил, что почти весь софт в линуксе скомпилен так, что я могу наблюдать название каждой ВНУТРЕННЕЙ функции с помощью nm -D. И то что я попытался написать для gcc тоже экспортирует название функции НЕ в разделяемую библиотеку.

В принципе, можно без этого - gcc -s (striped), но что вообще происходит?
Это связано с ASRL?
А нельзя c ASRL, но без экспорта названий функций?
Зачем так палиться?
Как нынче тогда работает защита коммерческой тайны в сях?
Аноним 14/01/24 Вск 20:43:34 #727 №3002662 
>>3002631
>ASLR
конечно же, да простит меня Святой Штульман
Аноним 15/01/24 Пнд 18:02:08 #728 №3003778 
>>3002631
> с помощью nm -D
Ты хоть man nm в консольке бы написал, пердолик. Там в первой же строчке написано откуда он берёт эти названия. Для тупых - не из собранного бинарника.
> Это связано с ASRL?
Нет, конечно. Какое отношение это вообще имеет к твоему вопросу?
> без экспорта названий функций?
Они никогда не экспортируются, если ты сам не делаешь экспорта.
Аноним 15/01/24 Пнд 19:50:45 #729 №3003911 
изображение.png
изображение.png
>>3003778
>Они никогда не экспортируются, если ты сам не делаешь экспорта.

но они экспортируются! Я поэтому сюда и пришел спросить

Можешь сам попробовать, если ты из НИИ и у тебя есть не очень старый линукс.

И почему же это происходит?
Аноним 15/01/24 Пнд 20:11:52 #730 №3003951 
1609320480260.png
>>3003911
> экспортируются
Чел, прочитай доки к nm. Нахуй ты тут шизишь, он берёт инфу не из собранного бинарника, а из object-файла, блять.
> И почему же это происходит?
Потому что дегенерат пердоликс поставил, а прочитать что делают команды что он вводит в консольку - нет. Даже локальная нейронка умнее тебя.

И вообще, нахуй ты пишешь в тред крестов про сишку?
Аноним 15/01/24 Пнд 20:24:53 #731 №3003956 
>>3003951
Да что ты не можешь проверить у себя чтобы убедиться что я пишу правду?

Окей, пусть тебе не нравится nm. Но почему тогда strings выводит эту функцию, которую я не экспортировал?
Аноним 15/01/24 Пнд 20:34:19 #732 №3003964 
>>3003956
Во-первых, собирай с флагом -O3. Во-вторых, удали все object-файлы. Я тебе могут и третий раз написать - он из них берёт инфу, тупой ты дегенерат.
Аноним 15/01/24 Пнд 20:45:43 #733 №3003975 
f93d1203ca5c6c01ebd23ebeb71249bf8a9f697chq.jpg
>>3003964
Сделал как ты велел - не сработало. Ну серьезно.
Не хочешь сам проверить?

У тебя какая версия линукса?
может ты и правда в НИИ на оборудовании из 90ых?
Аноним 16/01/24 Втр 15:38:11 #734 №3004971 
Как же хочется на работу плюсовиком...

миможсмакака
Аноним 16/01/24 Втр 21:37:17 #735 №3005566 
Хм, интересно, а если изучить всю документацию об ЭВМ которая имеется в интернете, можно создать процессор ?
Аноним 16/01/24 Втр 21:46:03 #736 №3005576 
>>3005566
Можно, но не тебе.
Аноним 16/01/24 Втр 21:48:25 #737 №3005583 
>>3005566
А зачем тебе вся документация?
Достаточно базы про логические компоненты.
Там уже сможешь схемки собирать, даже кулькуляторы.
Аноним 17/01/24 Срд 16:02:57 #738 №3006820 
>>3004971
>миможсмакака
Соболезную, брат
Аноним 17/01/24 Срд 16:03:56 #739 №3006822 
>>3005566
На ютабе на телеканале Вектозавр чэд собирает наиэлементарнейшую ЭВМ -- сумматор.
Аноним 17/01/24 Срд 21:01:08 #740 №3007390 
44046b344d66c34a4247798f9d9181060cbff5~mv2.gif
>>3005566
Зачем тебе вся документация, тем более если процессоры разные?
Качни курс Nand to Tetris, там начинаешь с логических вентилей и дальше по нарастающей делаешь регистры, АЛУ, память и тд. Все сначала описывается на hdl, как и вся современная микроэлектроника, а твоя работа проверяется тестами на виртуальной машине.
Аноним 17/01/24 Срд 21:43:22 #741 №3007456 
Аноны, дайте инфы, что у вас почитать по крестам. Программировать умею профессионально получаю деньги за свои высеры на питоне, хочу взять в оборот какой-нибудь прикольный компилируемый язык, думал про го, но чет он тухлый какой-то, так что решил посмотреть, че тут происходит у вас + почитать всякие исходники прыщавых приложений.

В общем, мне видимо нужно что-то по синтаксису чисто въехать в язык, ну и дальше фреймворк какой-нибудь для бекенда (вообще не ебу, что у вас самое популярное сейчас).
Аноним 17/01/24 Срд 21:59:40 #742 №3007495 
>>3007456
> думал про го, но чет он тухлый какой-то,
У нас тут потухлее будет

> дальше фреймворк какой-нибудь для бекенда
Писать бэк на плюсах это очень плохая идея
Но если интересно, есть классная штука от Яндекса - userver

> нужно что-то по синтаксису чисто въехать
К сожалению, в плюсах только синтаксисом не обойдешься
Есть несколько семантик которых вообще в других япах нет и как будешь писать код по хорошему их надо учитывать
Аноним 17/01/24 Срд 22:36:24 #743 №3007528 
>>3007495
В смысле, еще тухлее, чем в го? Да быть такого не может. У меня кореш месяцев 9 сидел ботал с нуля с++, вкатился вот недавно на джуна, в го такой трюк не провернуть.
>Есть несколько семантик которых вообще в других япах нет и как будешь писать код по хорошему их надо учитывать
Вот да, я как раз про подводные всякие думал. Нужна литература, которая покрывает такие моменты.
Аноним 17/01/24 Срд 22:42:38 #744 №3007530 
>>3007456
>получаю деньги за свои высеры на питоне
ну и пиздуй отседова
хуй чего тебе скажу
Аноним 17/01/24 Срд 23:32:51 #745 №3007571 
>>3007456
Тебе в го тред.
Аноним 17/01/24 Срд 23:34:27 #746 №3007575 
>>3007528
В го такой трюк не провернуть потому что это изначально язык для мидлов.
На мидлов в бэк на го вакансий в 1000 раз больше, и то что ты уже питонист открывает тебе возможность сразу дрочить го.
Аноним 17/01/24 Срд 23:34:45 #747 №3007576 
>>3007456
> профессионально получаю деньги
> просит почитать
Сразу видно дегенерата.
Аноним 18/01/24 Чтв 00:03:32 #748 №3007598 
>>3007571
>>3007575
Да не хочу я го, хочу кресты.

>>3007576
Угомон слови максимально резко.
Аноним 18/01/24 Чтв 00:07:09 #749 №3007600 
>>3007598
Сейчас тебя угомоним, зумерок. Погромировать он умеет, а документацию читать - нет. Ор просто.
Аноним 18/01/24 Чтв 00:07:35 #750 №3007601 
>>3007598
Тебе с твоим майндсетом тут делать нечего.
Ну точнее нихуя не поймёшь. В плюсах тебе каждый класс, каждая фича, каждый инструмент хочет выстрелить в колено. А если ты неопытный, то решение задач на нем превращается в борьбу с языком.
И да, в России пишут на плюсах бэк только Яндекс и Авито, из того что я знаю.
Аноним 18/01/24 Чтв 01:12:46 #751 №3007633 
>>3007601
Ну у меня в компании один из проектов имеет бек на плюсах. Правда мы (((кипрская))) компания теперь.
>>3007600
Да все не трясись, мы поняли, что ты крутой.
Аноним 18/01/24 Чтв 22:23:36 #752 №3008907 
16784792030950.mp4
анончики , как мне в эклипсе добавить lua либы в файл плюсов . сижу на старом макбуке, в настройки компилятору и линкеру либы lua прописал ,а чет не видит импортов либы все равно . доков либо нихуя либо для винды .
Помогите плез я заманался уже
Аноним 18/01/24 Чтв 22:33:40 #753 №3008942 
1593839789505.mp4
>>3008907
> в эклипсе
> Помогите плез
Тебе уже не помочь, просто получай удовольствие.
Аноним 18/01/24 Чтв 22:43:42 #754 №3008971 
>>3008907
> Эклипс
> Плюсы
> Луа
Что ты такое?
инклюд дирс какой нибудь ищи
Аноним 19/01/24 Птн 11:18:58 #755 №3009589 
Кто-нибудь осилил калькулятор из книги страуструпа? Впервые почувствовал себя настолько безмозглым
Аноним 19/01/24 Птн 13:33:51 #756 №3009823 
15789004371290.jpg
>>3009589
этот калькулятор не создан чтобы им пользоваться.
много таких программ понаписали сутулые очкарики.

поэтому и нужна профессия Аналитик.
Аноним 19/01/24 Птн 13:55:24 #757 №3009842 
>>3009823
>этот калькулятор не создан чтобы им пользоваться
Это понятно, хочется понять именно код
Аноним 19/01/24 Птн 13:59:34 #758 №3009848 
Я вас щас всех удвою, а потом отксорю.
Аноним 19/01/24 Птн 15:02:19 #759 №3009916 
Аноны, хелп. Помогите понять, что имели ввиду, когда устанавливали, что в тривиальных структурах не может быть юзер-дефайнед конструкторов?

>Тривиальный тип T можно скопировать в массив значений char или unsigned char и безопасно скопировать обратно в переменную T.

Ебать! А если у меня в поле указатель, мне не обязательно в конструкторе его инициализировать ресурсом, я это и могу и в простом методе сделать.
Аноним 19/01/24 Птн 15:49:43 #760 №3009997 
>>3009916
Да деды наворотили хрени с инициализацией, хрен щас поймёшь что у них в голове в этот момент было
Аноним 19/01/24 Птн 16:15:58 #761 №3010019 
>>3009848
А чё будет?
Тыэто просто так херню сморозил, или так ирл делают? Для чего, брат?
Аноним 19/01/24 Птн 17:13:19 #762 №3010060 
>>3010019
Только вчера в старом ассемблерном коде виде eax xor eax. Обнуляли так регистр.
Аноним 19/01/24 Птн 17:16:24 #763 №3010069 
>>3009916
И что указатель? Это просто число, ты его не ресурсом инициализируешь, а указателем на него. Класс все ещё тривиальный.
Аноним 19/01/24 Птн 17:29:24 #764 №3010101 
>>3010060
А причём удваивание?
То, что в асме делался xor x, x всем известно. Тем более мне, асм-фану
Аноним 19/01/24 Птн 17:36:05 #765 №3010126 
>>3010101
Для асм-фана ты слишком долго соображаешь. Что будет если сделать твой побитовый клон. А потом вас побитово отксорить.
Аноним 19/01/24 Птн 18:49:43 #766 №3010264 
>>3010126
Ты такие вещи не практикуй тут в чате, а то он в голове откомпилирует и потрет всю память
Аноним 19/01/24 Птн 21:37:09 #767 №3010506 
>>3010060
Причем, приличный оптимизирующий компилятор мог такой код и выдать.

А сейчас, кстати, как?
Аноним 19/01/24 Птн 22:23:11 #768 №3010540 
>>3010506
А сейчас в новом ассемблерном коде можно увидеть xor rax, rax.
Аноним 19/01/24 Птн 23:12:01 #769 №3010585 
Как преобразовать char* в const char ?
Аноним 19/01/24 Птн 23:52:27 #770 №3010612 
>>3010506
mov eax 0
>>3010585
const_cast
Аноним 20/01/24 Суб 01:56:14 #771 №3010673 
17007725310340.png
то что на пикриле - правда?
Аноним 20/01/24 Суб 03:38:31 #772 №3010707 
>>3010673
Разумеется нет.
Аноним 20/01/24 Суб 10:30:13 #773 №3010821 
>>3010673
Нет, у раста весь контрол в ансейф.
Аноним 20/01/24 Суб 11:46:52 #774 №3010849 
>>3010673
было бы славно, если это было так
но к сожалению не всё так просто
Аноним 20/01/24 Суб 12:40:43 #775 №3010878 
>>3010673
Только если перевернуть пикчу. Хачкель даже раст выебать по производительности может, если грамотно использовать ленивые вычисления. Всякие парсеры на современном хачкеле под LLVM ебут всё что возможно. При этом у Раста безопасности явно меньше чем у языков на JIT, а ГОвно надо куда-нибудь за пределы графика убрать - в нём нет ни производительности, ни безопасности.
Аноним 20/01/24 Суб 13:24:25 #776 №3010927 
Поясните как работает CLR для создания кнопочек для C++ в студии. Оно все в этот непонятный байтокал компилируется или только стык интерфейса и плюсов?
Аноним 20/01/24 Суб 13:35:12 #777 №3010939 
IMG20240120143356.jpg
>>3010927
Да там уже не совсем плюсы.
Аноним 20/01/24 Суб 15:22:05 #778 №3011018 
>>3010927
У тебя там дотнет внутри будет. Лучше жди когда AOT допилят чтоб он мог фреймворки гуя компилить, тогда сможешь кресты вызывать из фронта и иметь нормальный бинарник без JIT и дотнет-кишков.
Аноним 20/01/24 Суб 20:09:50 #779 №3011503 
>>3010927
хз какой твой уровень понимания, но если вкратце то сегодня у майкрософт есть winrt, который, если упрощать, не требует дотнета, по сути это вторая реинкарнация com, эдакий com два ноль, исповедующий его подход
последняя реинкарнация обвязки для того чтобы было удобно под него кодить это "C++/WinRT" (вот именно такое название), оно заменило собой обвязки C++/CX, WRL и прочую парашу которую в майкрософт успели наговнякать до них лол, причем эта последняя обвязка позволяет кодить под winrt как раз на полноценном с++17 (без каких либо расширений самого языка)
если же говорить за кнопкодавство, то есть за формочки, то эта обвязка дает как раз доступ к платформе UWP, к ХАМL и к прочему, в общем ко всему тому что относится к кнопочкам и формочкам
причем все это будет нативное и написанное с использованием с++17
с одной стороны это по настоящему круто (ибо наконец то умные дурачки в майкрософт сделали полный круг и наконец то пришли к тому что им всего лишь то нужен был модернизированный COM, и что вообще компонентный подход рулит)
с другой стороны как бы нахуй уже и не надо, особенно в россии
потому что РАБоты в россии по очевидным причинам ты не найдешь чтобы была необходимость писать под новые версии винды (а вся эта благодать само собой доступна только под новые винды)
а во вторых все то же самое несмотря на все улучшения все же просто делать на дотнет и все
Аноним 20/01/24 Суб 20:29:36 #780 №3011539 
>>3011503
вот еще
C++/CLI - эта хуета была для дотнета, устарела
C++/CX - эта хуета была уже для winrt, устарела
C++/WinRT - последняя обвязочка для крестов под winrt, типа пишите на нем
Аноним 20/01/24 Суб 20:49:39 #781 №3011574 
>>3011503
> по очевидным причинам ты не найдешь чтобы была необходимость писать под новые версии винды
Это какие такие причины? У нас уже принудительно всё на десятку переведено, даже некроговно типа посов с гигом ОЗУ. Наоборот сейчас лучше стало, появилась причина не платить индусам. Раньше ещё ебали за плашки "активируйте винду" везде, а сейчас у нас повсюду стоит неактивированная десятка, поебать. Ну и все кто пишут на дотнете - пишут под актуальные ОС.
Аноним 20/01/24 Суб 22:05:29 #782 №3011687 
>>3011574
ну типа гос-во переходит потихоньку на линукс, слезает с хуйца майкрософт, то же самое делают и корпорации с большим гос участием (типа того же росатома), ну и оборонка само собой..
те рыночек разработки под винду в россии очевидно сокращается
это с учетом того что любой формы разработки для барина на запад типа аутсорса или филиалов западных фирм в россии уже нет и никогда небудет
Аноним 20/01/24 Суб 22:15:44 #783 №3011701 
>>3011687
> гос
А нахуй на заводы идти?
Аноним 20/01/24 Суб 22:27:35 #784 №3011722 
>>3011539
>хуета, устарела
>хуета, устарела
>не хуета, не устарела <-- вы находитесь здесь
классика микрософт
сначала понаписать хуеты а потом 20 лет хоронить
Аноним 20/01/24 Суб 23:55:44 #785 №3011862 
>>3011722
C++/WinRT - это окончательный вариант
Аноним 21/01/24 Вск 13:10:48 #786 №3012310 
>>3012308 (OP)
>>3012308 (OP)
>>3012308 (OP)
Аноним 21/01/24 Вск 13:43:08 #787 №3012350 
рано блять
Аноним 21/01/24 Вск 14:08:40 #788 №3012381 
>>3012350
А это я тупой или эти зумеры совсем сбрендили?
В тематиках же всю жизнь бамплимит 1000 был?
Аноним 21/01/24 Вск 14:19:17 #789 №3012396 
>>2940541
>показываешь работу: мммм ну я бы так не сделал, ой ну тут в иф условии оно тратит память
Скажи ему что именно поэтом он просиживает штаны в универе, а не творит в гугле
Аноним 21/01/24 Вск 16:11:00 #790 №3012509 
>>3012396
СКАЗАЛ ПРЕПОДУ ЧТО ОН ПРОСИЖИВАЕТ ШТАНЫ В УНИВЕРЕ
@
ПРОТИРАЕШЬ САПОГИ В КАЗАРМЕ
Аноним 21/01/24 Вск 16:35:14 #791 №3012526 
Мне одному кажется, что препод все правильно делает? Не дал теории и отправил лабы делать? На работе будет тоже самое, вот тебе дока, если она есть, вот тебе гугол, на размышление дается 30 секунд, решай таску. И что плохого в том, что он докапывается к мелочам, ты бы предпочел, чтобы препод на отъебись принимал все лабы, которые вы скатали друг у друга, и чтобы ты получил диплом не научившись думать и решать таски?
Аноним 24/01/24 Срд 22:17:26 #792 №3017859 
>>3012381
Да не, это просто, чтобы залетух было поменьше.
Аноним 03/02/24 Суб 13:07:33 #793 №3032781 
>>2938659 (OP)
Шалом анония! Вопрос скорее общего характера, так как на практике не сталкивался, но всё-же интересно.

Как происходит замена высокоуровневого кода на ассемблеровский? Допустим вы уже написали программу, но на текущем желез она всё равно не показывает достаточное быстродействие, а математическая оптимизация или аренда более мощного железа недоступна. Можно написать маленькую программу на том-же TASM или MASM, но как её встраивать в программу на C++?

Для примера можно рассмотреть генератор вордлиста или может даже программу для открытия zip/rar архивов. Но если душа жаждит чего-то более сложного, то пусть это будет генератор хэш сумм.
Аноним 03/02/24 Суб 13:51:12 #794 №3032824 
>>3032781
Ты хотя бы флеймграф построил, прежде чем выводы об оптимизации делать?
Все что ты перечислил - ебаные числодробительные задачи, в которых С++ от Ассембера отстаёт на проценты.
Аноним 03/02/24 Суб 15:45:47 #795 №3032948 
>>3032824
Вопрос не "зачем", а "как"? Знаю что есть, не знаю как это делается. Интересно хотя-бы починать или правильно сформировать поисковый запрос.

Примеры привёл лишь чтоб указать, что мне это интересно для ускорения работы, на слабом железе.
Аноним 03/02/24 Суб 16:01:25 #796 №3032963 
>>3032948
Это называется ассемблерные вставки
Аноним 04/02/24 Вск 06:44:44 #797 №3033788 
>>3032963
Спасибо Анон!
Аноним 13/02/24 Втр 12:32:11 #798 №3046673 
Аноны, стал изучать тему многопоточки.
Меня интересуют приёмы, техники, тулзы для работы с ней.
Приёмы отладки и прочие хорошие рекомендации.
Что можно почитать, посмотреть по этой теме?
Аноним 13/02/24 Втр 20:55:44 #799 №3047485 
>>3046673
Многопоточное программирование на С++
Аноним 13/02/24 Втр 20:56:38 #800 №3047486 
>>3046673
Чуть обосрался с названием, вот:
C++. Практика многопоточного программирования
Аноним 14/02/24 Срд 10:19:01 #801 №3047906 
>>3047486
Книжку Ульямса я уже читаю (и Грима Райнера, он проще воспринимается).
Хотелось бы почитать что-то вроде книг Майерса, но касательно многопоточки если такие естб
Аноним 14/02/24 Срд 11:34:27 #802 №3047997 
>>3047906
А грим Райнер у тебя есть фб2?
Аноним 14/02/24 Срд 15:34:41 #803 №3048283 
>>3047997
https://libgen.rocks/edition.php?id=142162782
пдф
внизу ссылки на скачивание
Аноним 14/02/24 Срд 16:49:59 #804 №3048397 
>>3048283
Спасибо
Аноним 25/02/24 Вск 22:33:02 #805 №3063587 
1631787637557.png
Как починить подсветку синтаксиса?
Часто отваливается
Аноним 16/03/24 Суб 20:27:04 #806 №3088617 
В общем. Я нубан.
Работаю шарпером на заводе.
Вот, недавно подпустили к проекту, на котором матерые C++'еры работали, но на шарпе.

Увидел там нечто похожее на прикриплейд.
Можете объяснить, нахуя и зачем так делать?
Аноним 16/03/24 Суб 20:27:26 #807 №3088619 
.png
>>3088617
Картинку забыл
comments powered by Disqus

Отзывы и предложения