За что я люблю язык С

May 27, 2010 15:09


Пришлось тряхнуть стариной и написать несколько сотен строк кода на С. Лет десять уже этим не занимался, расслабился и огреб по полной программе:

static char* stralloc( const char* str ) { char* res = malloc( strlen( str + 1 ) ); strcpy( res, str ); return res; }
Код выглядит как настоящий, замыленным взглядом ошибку увидеть сложно. А уж какие эффекты появляются! Эта функция вызывалась из двух мест:

static char* start() { return stralloc( "{'start':true}" ); }   static char* stop() { return stralloc( "{'stop':true}" ); }
Если вызывать только из первого места сколько угодно раз - всё работает. Если вызвать из второго места - падает при втором вызове. Если увеличить длину второй строки на один символ - опять же всё работает.

Рекомендую попробовать всем, кто использует языки с автоматическим управлением памятью. Незабываемые ощущения гарантированы!

Из блога софт, хард & интERнет

Разработка, Языки

Previous post Next post
Up