Задать вопрос
@LuigiVampa92

Почему IDE в цикле находит unreachable code?

Здравствуйте, я столкнулся с неожиданной проблемой в C.

Имеется функция:
9d86318c7f0046229ffdacf2cad3a997.jpg

Это кусок кода из утилиты написанной под винду (однако ничего ОС-специфичного там не используется). Я решил использовать его в андроид приложении. Казалось бы в нем не должно быть никаких проблем, однако IDE говорит что их там аж 5:
1) b += 16 - unreachable code // Как будто цикл никогда не выполняется
2) in = b - expecting : // Ожидаем двоеточие ???
3) in < (b + 16) - expression result is unused
4) ++in - unreachable code // снова будто цикл никогда не выполняется
5) /* закрывающая скобка */ - syntax error, expecting ; // вообще не понял

Под виндой всё работает. Ошибки возникли не из-за того что тела циклов пустые, если в них добавлять осмысленный код, то он будет помечен как unreachable. Код компилируется, но если его вызвать - приложение падает.
Собственно вопросы:
1) Почему так получилось?
2) Как это исправить?
3) Я никак не нашёл способа настроить дебагер для C/C++ кода в андроиде. Буду очень благодарен если подскажете как это сделать. (я использую android studio и gradle-experimantal-plugin для сборки)
  • Вопрос задан
  • 1146 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
alsopub
@alsopub
Может глупость предположу...
В конце функции стоит "return 0;", внутри функции ничего "внешнего" не модифицируется.
Следовательно, можно безболезненно все выкинуть, оставив только "return 0;", так как что бы осмысленного внутри не было - результат выполнения функции - ноль.
Попробуйте возвращать не ноль, а результат вычислений или модифицировать данные по указателю data.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы