Безопасно ли строить с помощью -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 моя программа работает! В настоящее время я не обнаружил побочного эффекта. Благодарю.