Проблема с кодом!

В этой теме 2 ответа, 2 участника, последнее обновление  KindRedSand 3 мес., 2 нед. назад.

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #4950

    spoty76
    Участник
    Сообщений:19

    Зарегистрирован:
    23.03.2017

    Репутация:2

    Очень странная вещь происходит, короче говоря, у меня есть класс летающего обьекта который начинает раскручиваться и стрелять,

    фишка в том, что стрелять он начинать должен только тогда, когда скорость вращения больше или равна 25. И все происходит отлично на debug, но, по какой-то странной причине, когда компилирую в release, обьект сразу начинает стрелять, не дожидаясь скорости вращения. И причем через std::cout выводил, он первый выстрел делает когда rotS (скорость вращения) равно 2 (это базовая скорость вращения),  а потом следующие выстрелы работают нормально при скорости вращения 25.035… С чем вообще компиляция на release может быть связана с нарушением работы кода? Причем это еще и с вероятностью происходит, тоесть иногда все может быть нормально, иногда срабатывает, когда rotS = 2;

    За начало выстрелов отвечает переменная shoot2, единственное место где она меняется на true (по дефолту false), это здесь, почему код багается только на release?:

     

     

    Вложения:
    You must be logged in to view attached files.
    #4952

    spoty76
    Участник
    Сообщений:19

    Зарегистрирован:
    23.03.2017

    Репутация:2

    Забейте, я даун, переменная mSA не была обьявлена, было просто bool mSA, но вопрос почему в debug все работало…

    #4953

    KindRedSand
    Участник
    Сообщений:82

    Зарегистрирован:
    05.04.2017

    Репутация:29

    Оптимизация компилятором. На Debug она не распростроянется ибо кадр стека кучи может оказаться востребованым в любой момент.

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)

Для ответа в этой теме необходимо авторизоваться.