Я использую boost :: asio :: io_service и boost :: asio :: deadline_timer из вторичного (т.е. не GUI) рабочего потока. Это прекрасно работает, когда программа запускается из Visual Studio (2010). Однако когда я запускаю исполняемый файл релиза вне Visual Studio, комбинация async_wait () / run (), похоже, ничего не делает.
Я подтвердил, что run () действительно блокирует. Я также подтвердил, что исполняемый файл отладки работает нормально, не работает только исполняемый файл релиза (т.е. функция, указанная в async_wait (), не запускается).
Возможно, есть какая-то настройка проекта, какая-то оптимизация, которую мне нужно отключить, или что-то еще?