LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

нормальный вариант - отлавливать такие ошибки в компилтайме - но не понятно, как

Да вполне понятно как. Я видел подобные проверки на жидком хацкелле и FramaC.

http://blog.frama-c.com/index.php?post/2012/02/10/Overflow-checking

Вот даже целый пост по теме.

Алсо, если не хочется возни с SMT-солверами и прочим матаном, можно просто сделать, чтобы сложение и умножение выдавали результат большего типа. Например, int64*int64 -> int128 и т.п.

Исходная версия hateyoufeel, :

нормальный вариант - отлавливать такие ошибки в компилтайме - но не понятно, как

Да вполне понятно как. Я видел подобные проверки на жидком хацкелле и FramaC.

http://blog.frama-c.com/index.php?post/2012/02/10/Overflow-checking

Вот даже целый пост по теме.