Skip to main content

Конференции

Просмотр конференции fido7.pushkin.local:

Предыдущее Следующее

Дата: 15 May 2019, 19:19:50
От: Andrei Mihailov @ 2:469/335.0
Кому: Anatoliy Sablin
Тема: win via usd


Hello, Anatoliy Sablin.
On 15.05.2019 9:45 you wrote:

 AS>>>>> Что значит "работает с памятью хуже"? То, что структуры   
 AS>>>>> занимают  больше памяти? Да, это так. Автоматическое   
 AS>>>>> освобождение памяти    после использовании, которое есть в   
 AS>>>>> питоне, но нет в си - это   тоже  относится к "работает с   
 AS>>>>> памятью хуже"?
 AM>>>> Вот именно это я и имел в виду - что он сам автоматически     
 AM>>>> освобождает память (чего не делает си) и соответственно, это    
 AM>>>> лучше  т.к. программист не забудет освобождать и память не 
 AM>>>> будет  теряться.
 AS>>>>> То есть, если не освобождать память в Паскале, то это не 
 AS>>>>> утечка  и  он сам освободит её?
 AM>>>> Да
 AS>>> То есть в паскале можно спокойно писать следующий код: var a:    
 AS>>> array [0..1000000000] of byte; i: long; begin
 AS>>>   for i := 0 to 1000000000 do
 AS>>>   begin
 AS>>>     i = getmem (1024 * 1024 * 1024 * 1024);
 AS>>>     fillbyte(i, sizeof(i), 33);
 AS>>>   end;
 AS>>> end; И программа не упадёт из-за жора памяти?
 AM>> Устранив синтаксические ошибки (; после end) запустил эту   
 AM>> программу на смартфоне (среда PascalGUI с компилятором 
 AM>> FreePascal)  - ничего не упало и не зависло...
 AS> Да, потому что пример неправильный. И getmem динамически выделяет 
 AS> память, поэтому чтобы упало, надо ждать ооооооооооочень долго, 
 AS> пока на 4байта будет утекать всё. Исправленный вариант: Program t; 
 AS> Type
 AS>   v = array [0..1000000000] Of char;
 AS> Var a: ^v;
 AS>   i, j: Longint;
 AS> Begin
 AS>   For i := 0 To 10000000 Do
 AS>     Begin
 AS>       a := getmem(1024*1024*64);
 AS>       For j:= 0 To 100 Do
 AS>         Begin
 AS>           a^[j] := 'a';
 AS>         End;
 AS>       writeln(sizeof(a));
 AS>       writeln(i);
 AS>     {  dispose(a);}
 AS>     End;
 AS> End. Почему такой код падает с ошибкой, 

У меня он не упал.
 
 AS> а, если раскомментировать dispose, то уже не падает?

--
Best regards!
Posted using Hotdoged on Android

--- Hotdoged/2.13.5/Android
Origin: Сижу я, никого не трогаю - и тут Алиса пишет Бобу (2:469/335)

Предыдущее Следующее

К списку сообщений
К списку конференций