LINUX.ORG.RU

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

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

в 99.9 процентов случаев компилятор будет ее компилировать отдельно от контекста использования.

В релизной сборке надо использовать lto, pgo.

а так ты просто заменил проверки на переполнение проверками на значение операндов. это даже длинней по коду, чем просто ловить переполнение.

Такая проверка может быть только в начале программы, а дальше компилятор сам догадывается какой возможный диапазон у значений. Суть именно в том, что бы компилятор узнал какие значения могут быть.

Обычно в хорошей программе есть проверка входных данных. С добавлением в С++ pre/post можно компилятору давать подсказки даже там, где в коде встречаются проблема остановки. И он будет вставлять проверки на переполнения только в малом количестве операций.

Исправление MOPKOBKA, :

в 99.9 процентов случаев компилятор будет ее компилировать отдельно от контекста использования.

В релизной сборке надо использовать lto, pgo.

а так ты просто заменил проверки на переполнение проверками на значение операндов. это даже длинней по коду, чем просто ловить переполнение.

Такая проверка может быть только в начале программы, а дальше компилятор сам догадывается какой возможный диапазон у значений. Суть именно в том, что бы компилятор узнал какие значения могут быть.

Обычно в хорошей программе есть проверка входных данных. С добавлением в С++ pre/post можно компилятору давать подсказки даже там, где в коде встречаются проблемы остановки. И он будет вставлять проверки на переполнения только в малом количестве операций.

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

в 99.9 процентов случаев компилятор будет ее компилировать отдельно от контекста использования.

В релизной сборке надо использовать lto, pgo.

а так ты просто заменил проверки на переполнение проверками на значение операндов. это даже длинней по коду, чем просто ловить переполнение.

Такая проверка может быть только в начале программы, а дальше компилятор сам догадывается какой возможный диапазон у значений. Суть именно в том, что бы компилятор узнал какие значения могут быть.