Спасибо! Память виртуальная. То есть, для данного процесса кажется, что возможно выделить всю память рам. Почему же тогда здесь указано, что есть другой процесс со своим стеком?
все равно не понял.Есть например программа для вывода чисел Фибоначчи 1 1 2 3 5 8 13 21 34 55 Возникает вопрос что теперь осталось в стеке: десять чисел? Или только два последних числа?И что будет если я захочу вывести например 1 миллион чисел?
Привет. По моему, числа Фибоначчи после окончания функции мэин автоматически стирается с стека ( статистическая память). Короче переменные "живут" (точнее резервируется) в стеке внутри { ... } вот эти кавычки, как только фунция окончает свою работу стирается переменные с стека.
uint8_t main (){ uint32_t a,b=1; a=0; uint32_t i = 1000000; while(i--){ print(a=a+b); print(b=a+b); } return 0; } Всё зависит от Вашей реализации. Здесь на 2 млн чисел всего 3 переменных, одна из которых - итерирующая. Все на стеке. Одно НО. Раньше, чем мы дойдём до миллионного числа, значение суммы превысит максимальное для данного типа и произойдет переполнение, после чего расчет чисел Фибоначчи превратится в расчет гороскопа. Но суть Вы поняли.
Спасибо вам большое! Очень информативно, прекрассная подача материала!❤
Спасибо большое за объяснение такой важной темы .
Очень круто, рад что нашел вас.
Прекрасный подача материала, отличное объяснение!
Отличное объяснение! То что надо! Спасибо.
Круть!
Спасибо
Спасибо! Память виртуальная. То есть, для данного процесса кажется, что возможно выделить всю память рам. Почему же тогда здесь указано, что есть другой процесс со своим стеком?
Разве после завершенич процесса выделенная для него динамическая память не освобождается операционной системой?
...всех во фронтэнд на жабаскрипт за еду.
Какая память работает быстрее? (Вопрос не затрагивает время на аллокацию)
(Вопрос не затрагивает время на аллокацию) - значит уже ответ на вопрос не имеет никакого смысла
Стек работает быстрее, но мало памяти.
Куча работает медленно, но памяти больше.
все равно не понял.Есть например программа для вывода чисел Фибоначчи
1 1 2 3 5 8 13 21 34 55 Возникает вопрос что теперь осталось в стеке:
десять чисел? Или только два последних числа?И что будет если я захочу
вывести например 1 миллион чисел?
Привет.
По моему, числа Фибоначчи после окончания функции мэин автоматически стирается с стека ( статистическая память).
Короче переменные "живут" (точнее резервируется) в стеке внутри { ... } вот эти кавычки, как только фунция окончает свою работу стирается переменные с стека.
uint8_t main (){
uint32_t a,b=1;
a=0;
uint32_t i = 1000000;
while(i--){
print(a=a+b);
print(b=a+b);
}
return 0;
}
Всё зависит от Вашей реализации. Здесь на 2 млн чисел всего 3 переменных, одна из которых - итерирующая. Все на стеке. Одно НО. Раньше, чем мы дойдём до миллионного числа, значение суммы превысит максимальное для данного типа и произойдет переполнение, после чего расчет чисел Фибоначчи превратится в расчет гороскопа. Но суть Вы поняли.
Правильнее говорить "мебибайт", если идет речь о памяти озу, а здесь ничто иное как озу
правильнееидтинахуйанеумничать со школьной парты.