gegmopo4: (Default)

Мне вот всегда хотелось, чтобы компиляторы более жёстко демонстрировали undefined behavior. Чтобы если что-то явно неопределено, то чтобы конкретный результат менялся от версии к версии компилятора, а может и от сборки к сборке программы, от запуска к запуску (если цена этого не слишком велика). Чтобы в хэштаблицах менялась хэш-функция (хотя бы на константу), чтобы memcpy через раз копировал с начала в конец или с конца в начало, чтобы i+++++i выдавало произвольный результат в больших пределах, чтобы любая неинициализированная память, в том числе возвращаемая malloc-ом, была заполнена случайным мусором и чтобы затиралась им сразу после освобождения free, чтобы указатель null в памяти не представлялся нулями, а каждый раз по-разному, чтобы переменные в стеке располагались в случайном порядке и чтобы стек портился сразу после возврата из функции, чтобы размеры int, long и void * были разными, чтобы bigendian, littleendian и middleendian менялись в каждой версии системы.

Может хоть это заставит программистов читать и понимать.

P. S. Этот пост непосредственно спровоцирован этим, этим и этим. Но главные вдохновители — тонны непортируемого глючного кода и программисты-ламеры.

gegmopo4: (Default)

Не исполняет желания, а наоборот, производит их.

Profile

gegmopo4: (Default)
gegmopo4

May 2015

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 18th, 2017 04:25 pm
Powered by Dreamwidth Studios