Подробный разбор полетов по поводу бага в форматере последнего Экселя.
The biggest difference between the 2002 and the 2007 versions is that the routine was
rewritten to use 32-bit registers instead of 16-bit ones. As shown below this led to a
subtle bug, causing the formatting error.
То есть главная хохма в том, что в прошлом экселе проблемный код тащил наследство 16-битного Экселя. В последнем офисе это место поправили и ой. А труд очень серьезный, практически титанический. У меня один вопрос: чувака возьмут в Майкрософт работать или будут с ним судиться за ревер инжениринг?
Я ставлю на первое.
P.S.:
The code seems to be written directly in assembly, since it has no C/C++ style stack
frame or register usage. Also, the usage of some rare assembly instructions6 also points to
it being hand coded assembly. This was likely done for performance – converting
floating-point values to text needs to be high performance for Excel.

Comments