LINUX.ORG.RU

Язык C и хорошая трава


0

0

Расскажите кто какую траву предпочитает ?
Ведь эти цитаты были рождены явно забористой дурью:

"Понимаешь что память виртуальная ядро может выделить память, а на самом деле ее может не оказаться - но это очень редко конечно но бывает, так что делать проверки это глупо это тебе не дос."

"префиксный инкремент быстрее постфиксного"


А также про неопределенное поведение i = i + 1
"Если i встречается (и изменяется) только с одной стороны от присваивания, то все в порядке"

anonymous
Ответ на: комментарий от anonymous

Возможна. Но интереса не представляет, и, следовательно, в обработке не нуждается. Обрабатывать сигнал надо, когда память РЕАЛЬНО кончится.

flamer
()
Ответ на: комментарий от eXOR

Why? malloc, потом пишем нули в ведь выделенный кусок, если трапнулись - то отдаём кусок назад и возвращаем NULL. Тормозня будет та ещё, но зато - портабельно и надёжно. ;)

flamer
()
Ответ на: комментарий от anonymous

Да нет, вероятность существенно выше. То, что ТВОЁ приложение сожрёт всю доступную память - маловероятно и говорит скорее о криволапости проектирования. А вот что её отожрут другие после того, как ты её вроде как выделил - куда как более частый случай, и проверкам никаким это не поддаётся.

flamer
()
Ответ на: комментарий от flamer

>Возможна. Но интереса не представляет, и, следовательно, в обработке не нуждается. Обрабатывать сигнал надо, когда память РЕАЛЬНО кончится.

Ага, то есть тебе NULL вернули, а ты спокойно пишешь по этому адресу :) Зашибись, блин :)

WFrag ★★★★
()
Ответ на: комментарий от WFrag

>Ага, то есть тебе NULL вернули, а ты спокойно пишешь по этому адресу :) >Зашибись, блин :)
Как видишь некоторые так и делают :)))

anonymous
()
Ответ на: комментарий от flamer

почему mmap/mmap2 занимает столько времени ? Допустим надо считать файл в массив unsigned char*. У меня получилось, что open+mmap+memcpy+unmaup+close намного медленнее, чем fopen+fread+fclose ?

CKulT
()

короче я так понимаю, что не проверять значение malloc() в linux
это все равно что отказываться от udp, поскольку его реализация
может преспокойно дропать все подряд и при этом будет полностью
соответствовать стандартам.
хуйня какая-то получается. единственная проблема не-проверяющих
в том что они пишут на C и проверка оборачивается в несколько
лишних строк кода. на стороне выполнения эта проверка никого не
тормозит (хотя некоторые возможно и вызывают malloc с частотой
100 Герц, но за такое можно и второе яйцо ампутировать)
на стороне размера бинарного файла это тоже не так существенно,
если только не пишется для какой-то очень ограниченной системы,
но там возможно нужны другие подходы к обращению с памятью.
а если проверки не делают только потому что долго набрать лишние
строчки, то нехрен писать на Си. для случаев когда надо сделать
быстро на два-три раза существует перл питон итп на любой вкус

ugly-ugly-fucker
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.