Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Topic started by: Cleoss on September 24, 2020, 12:32:33 PM

Title: Не работает команда wait в x64 (проблема 49 дней), скрипт работает быстрей :)))
Post by: Cleoss on September 24, 2020, 12:32:33 PM
Неу! На 49-ый день работы компа КЛМН версии 4.13 b3, вместо того, чтобы однократно записать строчку в лог, стал раздувать файл до многих МБ (начиная с момента, когда он должен был однократно залогить строку, ошибка случилась ещё не дойдя до лбщеизвестной проблемы переполнения 32-битного числа после 49,7 дней работы Виндовс). На момент написания скрипта ещё не знал про функцию GetTickCount64(), благодаря чему и выловился баг. Отсюда возникает вопрос: какова максимальная величина переменной int в 64-разрядной версии Кликерманна, не 232-1 ли?

Code: [Select]
#autorun
#logfile "TixLog.txt"
while (1)
   $c=$_ms/1000/3600/24
   print($_date_y,".",$_date_m,".",$_date_d,"   Days on: ",$c)
   wait(86400)
end_cyc


Code: (clickermann) [Select]
#autorun
#logfile "TixLog.txt"
while (1)
   $c=$_ms/1000/3600/24
   print($_date_y,".",$_date_m,".",$_date_d,"   Days on: ",$c)
   wait(86400)
end_cyc



ПС. На компе последней версии 4.14 нету (или какая там сейчас есть), а на сайте почему-то ссылка на какую-то подверсию 4.13, в общем не стал искать на форуме самую свежую версию и протестил в той, что есть.

ППС. [spoiler] уже не работает?
Title: Re: Не работает команда wait в x64 (проблема 49 дней), скрипт работает быстрей :)))
Post by: Vint on September 24, 2020, 01:04:09 PM
b3 это же beta.
Используй  последний final v4.13.14
В ней как раз
Quote
+ Исправлен сбой при работе системы больше 49 дней без перезагрузки
даже в 32 битной версии.

Ну или v4.14.003b тоже вполне хорошая.
Title: Re: Не работает команда wait в x64 (проблема 49 дней), скрипт работает быстрей :)))
Post by: Cleoss on September 25, 2020, 05:49:18 PM
Отсюда возникает вопрос: какова максимальная величина переменной int в 64-разрядной версии Кликерманна, не 232-1 ли?

Степени двойки и максимальное возвращаемое целое число для 64bit (не в нотации):
Code: [Select]
// 25.09.2020
#name "Powers"
logclear
$a=1
$b=1
while($b<64)
$a=$a*2
print("2 ^ ",$b," = ",$a,", ",strlen($a))
inc($b)
//wait(0.2)
end_cyc
halt