|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexey Desyatnik 2:5020/400 18 Aug 2002 20:32:47 To : Konstantin Tokar Subject : Re: Perl, ООП и критика -------------------------------------------------------------------------------- "Konstantin Tokar" <tokar@apmsun.mpei.ac.ru> сообщил/сообщила в новостях следующее: news:3D5F5FFE.A33B69AF@apmsun.mpei.ac.ru... > > А если потребовать 200Mb, то Перл будет жутко свопиться, > > а цЭ просто вылетит. GPF. Проверено (gcc 2.9последний / 128 мозга) > > И что лучше? > > Лучше понять, почему у тебя С вылетает. Похоже, проблема в программе, а > не в языке или компиляторе. Проверяй указатели. #include <stdio.h> #include <malloc.h> int main (int argc, char **argv) { int *a; int i; /* Try to allocate very big int array */ if (NULL == (a = malloc(50000000))) { printf ("Malloc failed!\n"); return 0; } for (i = 0; i < 50000000; i++) a[i] = i; printf ("OK!\n"); return -1; } Все должно работать нормально, не так ли? В крайнем случае - выскочить с соответствующим сообщением. Под EGCS 2.91 (из Cygwin B20) программа выдает невнятное сообщение об ошибке, под VC 6.0 и BCC 5.5 - "Программа выполнила недопустимую операцию" (соответственно 1 и 3 раза). В Линух грузиться лень было, результат и так ясен. WBR, AD (desyatnik@dax.ru) P.S. И не надо говорить, что в реальных задачах массив надо на куски бить, односвязные списки применять и т.п. - в результате к тому же Перлу придем. Или Лиспу. Или Прологу. Hо - самопальному. -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/64885158f35e.html, оценка из 5, голосов 10
|