.
Друзья, посоветуйте хорошую литературу по с++
🦥Alex Fails
Тег #book тут. Еще есть неотсортированная помойка: https://t.me/joinchat/AAAAAE1yUq2Kh6WdPCtjMA
Anonymous
Друзья, посоветуйте хорошую литературу по с++
https://yadi.sk/d/EPwhNVKh3Q47Cv/%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8/C++/
Anonymous
Парни, gcc через linux subsystem в винде нормально функционирует? Пока нет возможности никсы поставить, а кодить хочется
Anonymous
или лучше cygwin какой-нибудь накатить?
🦥Alex Fails
да можно ж visual studio build tools поставить
Anonymous
не охота вижуалку, хрен вычистишь потом
🦥Alex Fails
билд тулзы только поставь
Anonymous
хм, отдельно можно? спасибо, не знал
Anonymous
о, тоже вариант, спасибо
🦥Alex Fails
http://landinghub.visualstudio.com/visual-cpp-build-tools
🦥Alex Fails
или вот старье: https://www.microsoft.com/ru-ru/download/details.aspx?id=40760
Egor
Лучше только не mingw, а mingw-w64 - он посвежее 4.9.2 и 5.1.0 будет. Например, в комплекте с msys2 идёт 7.2.0.
Anonymous
linux subsystem и есть
Evgenii
лучше поставить линукс
Anonymous
да я поставлю, просто хард еще идет
Egor
Нет, там идёт древний mingw с gcc 4.9.2, увы.
melvin
well, here we go
Крылатый
Так. Забанить сразу?
melvin
A.S.Y. Realty Company вы с рекламой пришли сюда?
melvin
или вас тонкости крестов интересуют?
Berkus
думаю можно банить
Matwey
Я понял
Matwey
У меня система 32-битная, там больше трех гигов памяти нельзя отсыпать. А LLVM-у не хватает похоже. Дожили.
🦥Alex Fails
вспоминаю страдания @foxcpp с asio и >4Гб сожранных компилем
Anonymous
вспоминаю страдания @foxcpp с asio и >4Гб сожранных компилем
Там на пике до 800 мб на процесс компилятора было, на самом деле, так что не >, а примерно равно.
Anonymous
А с учётом, что тут ещё болтается IDE на Java, браузер и текущий telegram-desktop.
Anonymous
Тяжко.
Matwey
Да тут проблема не в памяти, а в адресном пространстве. Захочу я замапить файл в память. А вот адреса и к ончились
Matwey
Беда
Anonymous
Это да, беда.
Oleg
Я слышал, что 32-битный firefox нынче собирается только кросс-компиляцией из 64-битной системы. (А ещё я как-то собирал gcc под arm прямо на малинке — но там всего 2.5 гига надо, подключил nbd из tmpfs большого компа как swap и хорошо.)
Matwey
у меня gcc нормально на rpi3 собирался, а там всего гигабайт
Oleg
у меня gcc нормально на rpi3 собирался, а там всего гигабайт
Интересно. Давно это было? Который gcc? У меня падало (хорошо если в oom) при попытке сгенерировать какой-то автомат. Не разбирался уж, rust там или не rust.
Ignat
У меня система 32-битная, там больше трех гигов памяти нельзя отсыпать. А LLVM-у не хватает похоже. Дожили.
Но зачем в 20!8 иметь такую систему и тем более из-под неё что-то собирать?
Matwey
А ты на чем собирал, на сетевом диске или на SD-карточке?
Matwey
Просто при компиляции многие microSD начинают дохнуть и выражается это в том, что на диск вместо данных пишется блок нолей или единиц. А потом линкер жалуется на кривой объектник
🦥Alex Fails
да, они могут, +
Matwey
А еще веселее, если на неё успело что-то засвопиться =)
Matwey
Вынимаешь обратно - а там нули
Matwey
Ггг
Dan
Это который аудио драйвер?
🦥Alex Fails
не, бустовый
🦥Alex Fails
я их тоже часто путаю, порой работаю с аудио
Dan
А, а то у меня хайлайт на asio сейчас, ибо я тут драйвер реверсю
Dan
Не, пытаюсь тут подружить очень старую и очень важную карту с десяткой. Если получится запустить - будет очень очень хорошо. Пока всё крашится и вылетает, ищу причину
Dan
Там долгая история.
🦥Alex Fails
НТ-драйвер или VxD?
Dan
vxd
🦥Alex Fails
да, тяжеловато... по факту, тут надо спеку составить по реализации драйвера, и новый написать
Dan
Я уже даже разрабам писал, они говорят что там всё слишком сильно проприетарно, и они не готовы со мной поделиться хоть какими-то знаниями. Поэтому я с другой стороны захожу - с дебага. Ловлю ошибки и краши, анализирую дампы, смотрю что было вызвано, и так далее.
Dan
Вообще это жестоко конечно, но меня устроит какой-нибудь простой фикс. Я не готов писать дрова сам 😆
🦥Alex Fails
кинь в лс vxd-шку)), ща чо мб Барышня подскажет
Dan
Но мне тут Hiew подогнали, так что процесс пошёл быстрее
Berkus
есть еще radare2, ida, hopper
Dan
Доберусь до машины - закину
Dan
Да, radare2 тоже
Berkus
реверсить целиком проще идой
🦥Alex Fails
есть еще radare2, ida, hopper
ага, вот про вторую барышню я и говорю
Aleksey
Ребят, вот есть односвязные списки, где каждый элемент содержит ссылку на следующий элемент. Допустим такой список объявлен для элементов int32. Как меняется тогда размер каждого элемента / всего списка? То есть, вот эти 32 бита отводятся под данные, а сколько памяти дополнительно в списке отводятся под ссылки? Или вот еще, что мне непонятно. Если процессор 32-разрядный, и опять же использовать инт32, тогда ссылка на следующий элемент займет всю следующую ячейку, т.е. отщипнет еще 4 байта? Или, если ссылка занимает, например, 1 байт, то каждый следующей элемент начинает смещаться и частично размещаться в одной ячейке памяти, а частично в другой?
Alexander "SonnySlave"
а сколько занимает твоя переменная, зависит в данном случае от типа данных, а не от значения, в ней хранящегося
Aleksey
зависит от размера указателя на твоей системе.
Ну так вот, случай, когда в качестве данных 32-разрядное целое число, пускай указатель занимает 8 разрядов и память 32-разрядная. Будет выделяться ровно по две ячейки памяти на элемент или каждая следующая значащая часть элемента (вот эти 32 разряда) начнут разъезжаться между соседними ячейками памяти?
Thorn
если struct Node { int8_t val; Node* next; };, то (скоре всего) после val будет вставлено 3 байта padding'а, а если struct Node { Node* next; int8_t val; }, то... в общем, то же самое (google C struct alignment / padding rules)
Alexander "SonnySlave"
так то мы дойдём и до того, что память страничная
Thorn
ну и менеджер памяти добавит свой overhead
Alexander "SonnySlave"
Aleksey
хорошо, я понял спасибо за объяснение!