Size: a a a

Rust — русскоговорящее сообществo

2020 March 19

M

Marat in Rust — русскоговорящее сообществo
кстати да, если Rc был выделен внутри листовой функции, то в вышележащих его уже нельзя использовать, когда владение закончилось
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Эрик
С чего бы он перезапишется? Я чего-то не знаю?
угу, чего-то про стек ты не знаешь
источник

M

Marat in Rust — русскоговорящее сообществo
Эрик
С чего бы он перезапишется? Я чего-то не знаю?
это стек, он так устроен
источник

🦉⁣

🦉 ⁣ in Rust — русскоговорящее сообществo
Alex CherryTea
т.е. то что в cargo нету команды add это только начало, да?)
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Эрик
С чего бы он перезапишется? Я чего-то не знаю?
func(); <<— тут Rc создался
func(); <<— тут перезаписался
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
и для этого в Rc используют полуBox..
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Денис Котляров
и для этого в Rc используют полуBox..
источник

Э

Эрик in Rust — русскоговорящее сообществo
Berkus Decker
func(); <<— тут Rc создался
func(); <<— тут перезаписался
static не перезапишется, особенно глобальный. Правда, я не знаю, хранится ли он на стеке.
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Эрик
static не перезапишется, особенно глобальный. Правда, я не знаю, хранится ли он на стеке.
нет, статики не хранятся на стеке
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну и всё. Прощай стек, привет куча.
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
они хранятся в .data или .bss
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Berkus Decker
нет, статики не хранятся на стеке
статики впаяны в прогокод
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Денис Котляров
статики впаяны в прогокод
они хранятся в .data или .bss
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Эрик
Ну и всё. Прощай стек, привет куча.
адрес уникален. доступен из всех стековых. никуда не девавается:)
сам натыкался на это когда делал любимые махинации с PTR
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Эрик
static не перезапишется, особенно глобальный. Правда, я не знаю, хранится ли он на стеке.
но статик это совсем не то, оно занимает память в коде загружаемой программы, а мы вроде хотели на стеке выделять пушо .. ща найду цитату… “стек быстрее, выделение памяти на нем бесплатное, он почти всегда в кэше, и для команд процессора, работающих с памятью, адресуемую через esp/rsp, есть специальные оптимизации на уровне микрокоманд cpu, поэтому они иногда выполняются за меньшее количество циклов, чем с другими регистрами общего назначения”
источник

Э

Эрик in Rust — русскоговорящее сообществo
Berkus Decker
но статик это совсем не то, оно занимает память в коде загружаемой программы, а мы вроде хотели на стеке выделять пушо .. ща найду цитату… “стек быстрее, выделение памяти на нем бесплатное, он почти всегда в кэше, и для команд процессора, работающих с памятью, адресуемую через esp/rsp, есть специальные оптимизации на уровне микрокоманд cpu, поэтому они иногда выполняются за меньшее количество циклов, чем с другими регистрами общего назначения”
Ты себя любимого цитируешь?
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Berkus Decker
но статик это совсем не то, оно занимает память в коде загружаемой программы, а мы вроде хотели на стеке выделять пушо .. ща найду цитату… “стек быстрее, выделение памяти на нем бесплатное, он почти всегда в кэше, и для команд процессора, работающих с памятью, адресуемую через esp/rsp, есть специальные оптимизации на уровне микрокоманд cpu, поэтому они иногда выполняются за меньшее количество циклов, чем с другими регистрами общего назначения”
вот про это я и говорил. когда имел ввиду что он впаян в прогу:)
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
Эрик
Ты себя любимого цитируешь?
нет, попробуй почитать чат чуть выше
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Эрик
Ну и всё. Прощай стек, привет куча.
по идее тебе лучше не скакать по стекам. и буде сила.

я не пробовал делать это без бокса.  не подскажу.
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Денис Котляров
вот про это я и говорил. когда имел ввиду что он впаян в прогу:)
Он не впаян в прогу, он просто часть дата сегмента в виде инициализированных или же неинициализирлванных данных
источник