Berkus
Александр
распаковщик*
Александр
обычно защищают протекторами
Александр
и вообще, #offtop
Berkus
смотря как он защищенный, скайповский вот например не упакован
Berkus
а просто тупо зашифрован блоками
Anonymous
Anonymous
Alignant
Хочу дизассемблировать биос с:
Berkus
inb/outb во все поля
Alignant
Раньше было модно
Berkus
Alignant
Та я знаю, я тоскую
Anonymous
Та я знаю, я тоскую
Вот этого точно не надо. BIOS был говном, основанном на костылях. Правильно сделали, что его закопали. UEFI в разы лучше.
Berkus
Berkus
чуваки
Berkus
#holywar
Berkus
идите в холиварную
Alexey
а есть какой-нибудь блог с описанием изменений?
Berkus
джетбрейнс всегда публикует чейнджлоги
Evgenii
Ivan
Парни, статическую память можно засрать?
Ivan
В смысле компилятор под статическую память без ограничений выделяет?
Олександр
Если я не ошибаюсь, то статическая(автоматическая) память такая же динамическая, только выделаяется при вхождении область видимости для всего, что есть внутри последней, а освобождается после
Олександр
Происходит это автоматически, а не ручками программиста, как с динамической
Ivan
разве компилятор заранее не выделяет под статические переменные память?
Matwey
Ты имеешь ввиду секцию .data?
Matwey
Или они не там лежат?
Ivan
https://godbolt.org/g/6WvnkW
cyberzx 🇷🇺
cyberzx 🇷🇺
Ivan
я про переменные объявленные static
Олександр
Да, про стек, я и не говорил, что его нельзя переполнить)
Олександр
Я к этому и вёл
Matwey
https://stackoverflow.com/questions/12126103/maximum-size-of-bss-and-data
Ivan
короче, миллион строк в статик не получится засунуть
Matwey
Почему не получится? Я вот давеча целый zip-файл туда положил;
cyberzx 🇷🇺
это сколько в мегабайтах?
Ivan
ну словарь орфографический
Berkus
но если там несколько сотен мегабайт, то без проблем
cyberzx 🇷🇺
правда запускаться будет долго и компилятор может немного опухнуть
Ivan
Ок, а потом затраты на доступ по индексам такие же дешёвые как на стеке?
Berkus
ну да, это доступ к обычной памяти - cache locality может пострадать если там много
Ivan
но если друг за другом проходить локальность кеша будет хорошей?
Berkus
не особо, в кэщ это все не влезет, надо будет делать префетч
Berkus
ты помоему в X-y проблему уперся
Berkus
что сделать то хочешь?
Ivan
я упарываюсь просто ) хотел засрать статик
Ivan
а что за Х-у проблема?
Berkus
#xyproblem
Berkus
алоэ ботэ
Ivan
икс игрик?
Berkus
в супапро было ща
Ivan
ладно, я не понимаю. Ещё вопрос вот у нас есть struct W { const char* c = "abc"; };
Berkus
http://mywiki.wooledge.org/XyProblem
Ivan
abc лежат в статической памяти, правильно?
cyberzx 🇷🇺
да
Berkus
abc это сишная строка, так что да
Ivan
далее мы пишем static W a, b, c, d, e, ...
Ivan
Они тоже в статической памяти
Berkus
но ссылаются на одну и ту же строку обычно, т.к. она константная
Ivan
структуры в статической памяти, поле структуры в статической памяти
Ivan
ок
Ivan
убираем const =))
Ivan
struct W { char* c = "abc"; };
Berkus
получаем варнинг, ставим его обратно
cyberzx 🇷🇺
в С++ так нельзя
cyberzx 🇷🇺
в С можно
Ivan
ок, давайте тогда думать, что мы в Си
Berkus
ты это можешь ведь локально на компилере проверить, у тебя всяко он есть
cyberzx 🇷🇺
Компилятор вполне может положить эти данные в какую-нибудь .ro секцию