Spjall:2038-vandinn

Úr Wikipediu, frjálsa alfræðiritinu

Vandamálið er einfaldlega það að time_t er á flestum kerfum skilgreind sem 32ja bita signed týpa sem telur frá -2^31 til 2^31. Svona var þetta upprunalega á Unix og smitaðist svo í nokkurnveginn allt sem notar forritunarmálið C út frá time.h.

Það er hinsvegar ekkert sem kemur í veg fyrir það að time_t sé skilgreint sem 64ra bita týpa eins og gert er á stýrikerfum sem eru þýdd fyrir 64ra bita örgjörva í dag. Það sem mun vera vesen árið 2038 eru gömul forrit sem eru enn þýdd fyrir umhverfi þar sem time_t er 32ja bita og skráarsnið sem öptu eftir Unix tímasniðinu og pökkuðu tíma í 32ja bita signed týpu einhverstaðar, það síðara verður örruglega mun meira vandamál en það fyrra.

Hvað sem því líður er einföldun að segja að þetta valdi bilunum eða hruni í einhverjum kerfum, það er algerlega eftir hverju forriti hvað gerist þegar time(3) skilar neikvæðri tölu eða tölu sem er ekki stærri en síðasta tala sem kom frá því falli.

meh -Ævar Arnfjörð Bjarmason 19:21, 2 júní 2007 (UTC)

Ég var eitthvað að reyna að þýða þetta úr ensku, takk fyrir leiðréttingarnar hingað til. Hins vegar fannst mér „Þetta er þó ekki talið vandamál vegna breytinga í sólkerfinu okkar fyrir þann tíma“ mjög skemmtileg setning og leiðinlegt að sjá hana fara. Mætti hún fara aftur inn? --Steinninn 01:00, 3 júní 2007 (UTC)
Nei. --Friðrik Bragi Dýrfjörð 09:34, 3 júní 2007 (UTC)