Intereting Posts
Как включить 3G-мобильные данные программно в Android? Android: ручка приложения сбой и запуск определенного действия Как открыть личные файлы, сохраненные во внутреннем хранилище, с помощью Intent.ACTION_VIEW? Как перенести данные из одной активности в другую в android Является ли индекс важным в addView ()? Просмотр не может быть включен в ViewGroup в макете android Проблема с планшетами Android Asus с семью дюймами hdpi Gradle не будет исключать модуль по запросу Android, извлекаемый из пути к файлу Установить текст в TextView в плохой производительности обработчика Как нарисовать вертикальную линию между двумя кнопками в android Добавить учетную запись в AccountManager может привести к взаимоблокировке Атрибуты Xml на Android Google Maps не работают с AndroidStudio Как сохранить DropDownList из AutoCompleteTextView открытым после нажатия клавиши «Назад»? Использовать устройство NFC в качестве тега NFC

Безопасно ли строить с помощью -fsigned-char с Android NDK?

Для согласованности с другими платформами мне нужно использовать signed char в некотором собственном коде, над которым я работаю. Но по умолчанию на Android NDK тип char unsigned .

Я попытался явно использовать signed char тип signed char но он генерирует слишком много предупреждений, differ in signedness когда differ in signedness строковые константы / функции библиотеки, поэтому я ищу, чтобы создать свой код с -fsigned-char .

Теперь я пытаюсь предвидеть проблемы с Android ARM ABI и API, когда используется -fsigned-char , но я пока не могу найти проблемы.

В стандарте вызова вызова для архитектуры ARM ABI (AAPCS) , 7.1.1 арифметических типов и библиотеки C ABI для архитектуры ARM , 5.6 inttypes.h, char считается unsigned .

Знаете ли вы, есть ли проблемы при использовании библиотеки C (другие библиотеки, доступные на Android), когда в Android NDK включен -fsigned-char ?

    Сегодня я столкнулся с этой проблемой. char обрабатывается как signed на x86, но при запуске на Android-устройстве изменен на unsigned . Это делает мои JNI-библиотеки неправильными.

    После установки LOCAL_CFLAGS := -fsigned-char в Android.mk моя программа работает! В настоящее время я не обнаружил побочного эффекта. Благодарю.