[rosedu-general] Idee articol TechBlog

Daniel Baluta daniel.baluta at gmail.com
Sat Feb 4 11:20:44 EET 2012


On Sat, Feb 4, 2012 at 11:12 AM, Adrian Scoica <adrian.scoica at gmail.com> wrote:
>>
>> Nu e suficient sa il recompilezi?
>>
>
> Famous last words. Problema e una interesanta, oricum... iata cateva
> situatii in care all hell breaks loose:
>
> 1) v = malloc (4 * 100); // this is just plain stupid, dar se intampla
> cand serializezi structuri cu picioarele, pt protocoalele vietii
> 2) #define MAXINT 0xFFFFFFFFul; // guess again
> 3) Iata un exemplu pe care l-am vazut chiar in BitDefender:
> unit32_t i;
> // 100 linii de cod.
> for (i = 0; i < v.size(); ++i) {
> }
>
> v.size() in buildul respectiv era unsigned pe 64 biti, iar idiotul
> care a scris functia a pus pragma de warninguri pentru ca facea o alta
> porcarie in functie si nu s-a prins. Daca cumva size() era mai mare
> decat 0xFFFFFFFF, atunci bucla aia cicla la infinit.
>
> 4) Apelurile de sistem. Sunt diferente (mici, dar musca rau).
>
> Daniel a postat anul trecut pe lista de SO un articol fun. Nu o sa
> caut in mail, pentru ca am sanse mai mari sa il regasesc de la 0 pe
> www... deci daca poate sa reposteze cineva link-ul, ar fi super.

http://software.intel.com/en-us/articles/collection-of-examples-of-64-bit-errors-in-real-programs/


More information about the rosedu-general mailing list