Двоичные файлы набора инструментов Android NDK по умолчанию создаются с исключениями или без них? - PullRequest
2 голосов
/ 29 февраля 2012

После прочтения документации по Android NDK я немного запутался в этом вопросе.CPLUSPLUS-SUPPORT.html утверждает, что:

II.1.Поддержка исключений C ++:


Набор инструментов NDK поддерживает исключения C ++, начиная с NDK r5, однако все источники C ++ по умолчанию компилируются с поддержкой -fno-excptions в целях совместимости с предыдущими выпусками.

Однако, STANDALONE-TOOLCHAIN.html говорит:

5.3 Исключения, RTTI и STL:


Двоичные файлы набора инструментов do поддержкаC ++ исключения и RTTI по ​​умолчанию.Они включены по умолчанию, поэтому используйте -fno-exceptions и -fno-rtti, если вы хотите отключить их при создании источников с ними (например, для создания меньшего машинного кода).

Эти два утверждения кажутсябыть в полном противоречии друг с другом.Или я что-то не так понял?Так исключения по умолчанию включены или отключены?Или это, возможно, зависит от какого-то другого фактора?

Я думаю, что один из документов просто перенесен из более ранней версии, и это является причиной несоответствия, но я хотел бы знать, что является правильным.

1 Ответ

2 голосов
/ 29 февраля 2012

Если вы используете предоставленную систему ndk-build для создания своих приложений (что вы, вероятно,), то исключения по умолчанию отключены .

STANDALONE-TOOLCHAIN.html применяется только в том случае, если вы используете компилятор напрямую со своей собственной системой сборки, а не ndk-build.Вот что он говорит:

Теперь можно использовать наборы инструментов, поставляемые с Android NDK, в качестве автономных компиляторов.Это может быть полезно, если у вас уже есть собственная система сборки, и вам нужна только возможность вызова кросс-компилятора для добавления поддержки Android для него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...