Это работает для платформ, где int занимает 4 байта.
int oldByte = (a >> 31)& 0x1; // тут мы получаем старший бит и логически добавляем его к 0x1. В результате oldByte равна 1 если число отрицательное и 0 если положительное.
в случае если число отрицательное то выражение (1+oldByte-1) равно 1, а (oldByte-1) равно 0. В итоге возвращается -а, а поскольку а уже отрицательное то минус перед ним делает его положительным. В противном случае (1+oldByte-1) равно нулю а (oldByte-1) равно -1. В результате выходит -а*(-1) то есть просто а. Поскольку а положительное то возвращается просто а.
таким образом можно создать несколько файлов с ресурсами( и кодом) и выбирать тип сборки какой нужно. Это максимально близкое что можно придумать.
Нащет отладки — то в описанной схеме она по прежнему не возможно, но используя среду Qt Creator можно параллельно сделать проекто-демку, который можно запускать на андроиде и без проблем отлаживать.
int oldByte = (a >> 31)& 0x1; // тут мы получаем старший бит и логически добавляем его к 0x1. В результате oldByte равна 1 если число отрицательное и 0 если положительное.
в случае если число отрицательное то выражение (1+oldByte-1) равно 1, а (oldByte-1) равно 0. В итоге возвращается -а, а поскольку а уже отрицательное то минус перед ним делает его положительным. В противном случае (1+oldByte-1) равно нулю а (oldByte-1) равно -1. В результате выходит -а*(-1) то есть просто а. Поскольку а положительное то возвращается просто а.
После этого можно будет собирать соответственный тип сборки
или же выполнить соответствующую задачу, например assembleRefcotor_list
таким образом можно создать несколько файлов с ресурсами( и кодом) и выбирать тип сборки какой нужно. Это максимально близкое что можно придумать.
Нащет отладки — то в описанной схеме она по прежнему не возможно, но используя среду Qt Creator можно параллельно сделать проекто-демку, который можно запускать на андроиде и без проблем отлаживать.