Стандарт C говорит, что переполнение в арифметике не определено.
Я хотел бы знать, как реализовать циклическую арифметику с точки зрения производительности. Это означает, что решения для проверки переполнения, подобные представленным здесь не подходят (поскольку они замедляют работу примерно на порядок).
Я предполагаю, что решение будет включать в себя написание процедуры сборки для этого. Есть ли доступная библиотека, которая делает это (предпочтительно для нескольких архитектур, хотя x86 является обязательным)?
В качестве альтернативы, есть ли флаг компилятора (для gcc и clang), который заставляет компилятор применять циклическую семантику для целочисленной арифметики?
unsigned
целые числа, где переполнение всегда определено, или компилируйте с-fwrapv
, чтобы получить надежное циклическое переполнение для целых чисел со знаком. - person PSkocik   schedule 22.11.2016