Size: a a a

2020 January 09

AZ

Alex Zhukovsky in rust_offtopic
Не было сборок мусора
источник

AZ

Alex Zhukovsky in rust_offtopic
почитай как стек работает
источник

P

Pavel in rust_offtopic
конструктор Span и ToArray сверху ещё пописали
источник

AZ

Alex Zhukovsky in rust_offtopic
рантайм говорит "не было сборок", Я ему верю больше чем тебе
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
почитай как стек работает
расскажи мне, как стек работает, а то я только на жс и питоне пишу и не знаю
источник

AZ

Alex Zhukovsky in rust_offtopic
ToArray только чтобы вывести на печать, его можно убрать ничо не поменяется, спан это структура
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
расскажи мне, как стек работает, а то я только на жс и питоне пишу и не знаю
долго объяснять. Вот тут подробно расказано: https://stackoverflow.com/questions/23981391/how-exactly-does-the-callstack-work
источник

AZ

Alex Zhukovsky in rust_offtopic
еще статьи всякие есть
источник

OA

Oleg Andreev in rust_offtopic
блин, чем больше слышу про С# в этом канале, тем больше понимаю что дотнет - это руби-джава здорового человека.
источник

OA

Oleg Andreev in rust_offtopic
единственное что бесит - это МС-овский подход к неймингу функций. Как будто читаю немецкую газету
источник

P

Pavel in rust_offtopic
а что происходит с %rsp во время прерывания?
источник

OA

Oleg Andreev in rust_offtopic
хотя бы lpzshungarian notation отменили, и на том спасибо
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
а что происходит с %rsp во время прерывания?
если в двух словах, то у тебя есть указатель вершины стека. Когда происходит вызов функции, то указатель увеличивается на суммарный объем всех локальных переменных которые в функции используются, в байтах
источник

AZ

Alex Zhukovsky in rust_offtopic
имена переменных это алиас для сдвига от указателя
источник

AZ

Alex Zhukovsky in rust_offtopic
int a,b,c
источник

AZ

Alex Zhukovsky in rust_offtopic
a = ptr + 0
b = ptr + sizeof(a)
c = ptr + sizeof(a) + sizeof(b)
...
источник

AZ

Alex Zhukovsky in rust_offtopic
когда функция выходит (ret), то указатель возвращается на старое значение
источник

AZ

Alex Zhukovsky in rust_offtopic
таким образом как бы удаляя все переменные
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
если в двух словах, то у тебя есть указатель вершины стека. Когда происходит вызов функции, то указатель увеличивается на суммарный объем всех локальных переменных которые в функции используются, в байтах
ну, я про то, что %rsp он один как бы, вот тебе пришло прерывание у тебя теперь стекфрейм обработчика прерывания, куда делось старое значение  %rsp? откуда iret  знает, какое проставить?
источник

AZ

Alex Zhukovsky in rust_offtopic
не уверен что я понятно объясняю поэтому лучше почитать статьи
источник