|
|
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
...почему стало так много глючных и тормознутых прог, а юзеров превратили в бесплатных бета-тестеров ! -------------------------------------------------------------- [не претендую на уникальность] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 12:47:21 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
и? поделись, что-ли, наблюдением )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:03:58 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
egorychи? поделись, что-ли, наблюдением )) пропустил ссылку? - см. ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:05:07 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
ксакеп - журнал для детей. как сказал бы Гоблин - для тупых подростков. А дети не пишут софт, так что конкретно эта статья никакого вреда индустрии не принесет :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:21:36 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
Мда, когда сказать нечего лучше промолчать.... Это я об авторе сего опуса.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:33:28 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
Cerebrum пишет: Много не читал, прочел только про выделение памяти. Ну чего -- в общем правильно все, не фиг память проверять - это просто мертвый код. Он все равно ничего не сможет сделать, потому что нету возможности управлять менеджером памяти, рестартов в С нет, а такие средства как SEH предусматривают наличие альтернативных потоков управления (вот там уже рестарты есть). Могу даже сказать, что в продукте, над которым я сейчас работаю, именно так и делается - при недостатке памяти внутри аллокатора просто вызывается код, генерирующий защиту памяти (такой ASSERT времени выполнения). Просто потому что если памяти нет, ее взять не откуда, и делать тут нечего. Продукт - СУБД, т.е. код ентерпрайзнее некуда. Так что не знаю как там на счет детей. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:58:23 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
Cerebrum пишет: > ...почему стало так много глючных и тормознутых прог, а юзеров > превратили в бесплатных бета-тестеров ! Прочитал все. Абсолютно согласен с автором. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 14:02:47 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
MasterZiv Cerebrum пишет: > ...почему стало так много глючных и тормознутых прог, а юзеров > превратили в бесплатных бета-тестеров ! Прочитал все. Абсолютно согласен с автором. Posted via ActualForum NNTP Server 1.4меня, к примеру, тоже не особенно эта статья напугала... хотя, конечно, освобождать всё-же надо )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 14:55:06 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
Где Читать ????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 15:25:48 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
Тфу блин '!' синий ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 15:26:35 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > > Cerebrum пишет: > > Много не читал, прочел только про выделение памяти. > Ну чего -- в общем правильно все, не фиг память проверять - > это просто мертвый код. Он все равно ничего не сможет сделать, Истина, как обычно - где-то посредине. На мой взгляд, автор правильно написал - нужно учесть все риски. Отсутствие проверки успешности выделения памяти все-таки достаточно необычное явление и дрожно быть обосновано. Например, если при работе на Desktop/server WinXP/Linux кончилась память, то это обозначает одно из двух - или запросы слишком велики (как вариант - глюк с неправильным вычислением размера памяти, с чем все-таки иногда можно бороться), или вешалка наступила еще полчаса назад, и система давно и надежно лежит в свопе. Так, что если вы уверены, что ваш код никогда не выйдет за рамки таких условий - то да, можно не проверять результат выделения памяти. Если нет - то проще сделать это сразу, чем потом ломать голову, перенося фрагмент кода под какой-нибудь ARM с тем-же Linuх без свопа, но с buddy аллокатором. Что касается IsBadReadPtr, согласен - это явно излишне. Проверка на NULL - тоже по обстоятельствам. Например в функции являющейся частью интерфейса подсистемы - проверю обязательно, внутри подсистемы расставляю всевозможные ASSERT и VERIFY. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 16:52:23 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
MasterZivПродукт - СУБД, т.е. код ентерпрайзнее некуда.Вот в mysql если для выполнения запроса требуется памяти больше, чем определено настройками, он возвращает "Not enough memory" и продолжает работать. Насчёт проверки параметров, хе-хе, в винапи на этот счёт дырку нашёл. В одну и ту же функцию иногда можно нулл передавать, иногда нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 20:29:32 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
teras пишет: > Истина, как обычно - где-то посредине. На мой взгляд, автор правильно > написал - нужно учесть все риски. Отсутствие проверки успешности > выделения памяти все-таки достаточно необычное явление и дрожно быть > обосновано. Наоборот, очень частое. На C++ при неудачном выделении памяти выбрасывается исключение. Так что проверять не надо ничего - надо исключения обрабатывать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2007, 18:19:36 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
MasterZiv wrote: > teras пишет: > >> Истина, как обычно - где-то посредине. На мой взгляд, автор правильно >> написал - нужно учесть все риски. Отсутствие проверки успешности >> выделения памяти все-таки достаточно необычное явление и должно быть >> обосновано. > > Наоборот, очень частое. > На C++ при неудачном выделении памяти выбрасывается исключение. > Так что проверять не надо ничего - надо исключения обрабатывать. > Это немного из другой оперы - (исключение/возврат признака ошибки) это разные подходы к обработке ошибок, но в C++ проверка отсутствия памяти все равно *есть*, и находится она в самом new, и эту ситуацию всегда можно обработать в вызывающей функции. Образно говоря, эти подходы выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. (3) и (4) практически эквивалентны, разве что сообщение в (3) более внятное. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2007, 20:03:07 |
|
||
|
кажется я начинаю понимать...
|
|||
|---|---|---|---|
|
#18+
MasterZiv На C++ при неудачном выделении памяти выбрасывается исключение. Так что проверять не надо ничего - надо исключения обрабатывать. При этом механизм виртуальной памяти часто (в ядре Линуксе -- по умолчанию, афаик) устроен так, что реальное выделение памяти происходит при обращении к ней, а не при команде выделения. То есть успешное выделение не гарантирует, что память действительно выделена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 00:20:58 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34928631&tid=2027834]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 496ms |

| 0 / 0 |
