Вопрос

Я довольно новичок в разработке Android, и я хотел бы знать, поддерживает ли Android вышеупомянутые функции, которые находятся в C.

Заранее спасибо.

Это было полезно?

Решение

Эти функции доступны при кодировании в нативном C через Android NDK. NDK имеет стандартную библиотеку C, которая включает эти функции.

  • getCwd (BUF, размер) функционирует немного иначе, чем стандарт UNIX, поскольку он не распределяет память, если BUF является нулевым. Вы должны предварительно разобрать буфер. http://linux.die.net/man/2/chdir
  • CHDIR (PATH) функционирует, как и ожидалось, хотя его использование ограничено тем фактом, что Android (глупо) не предоставляет функцию для получения информации о контексте приложения, такой как путь к внешнему хранилищу (хотя вы можете получить путь по вызовам JNI .. http://linux.die.net/man/3/getcwd
  • Я не могу комментировать функциональность в Android из Longjmp и т. Д.

Если вы предпочитаете оставаться в среде Android Java, вы обнаружите, что нет концепции текущего рабочего каталога, поэтому chdir () и getCwd () устарели. Вместо этого система предоставляет набор функций для обнаружения внутренних и внешних путей хранения (см. http://developer.android.com/guide/topics/data/data-storage.html) Также типичное использование setjmp ()/longjmp () обычно может быть покрыто исключениями Java или другими механизмами.

Другие советы

Не уверен, есть ли он интегрирован в язык, но если вам действительно нужно получить доступ к каким -либо местным методам C, вы можете использовать JNI (нативный интерфейс Java), который позволит вам запустить нативный код C.

Кроме того, посмотрите на исключение и классы файлов - они могут дать вам аналогичную функциональность.

Они не должны нуждаться в них. Приложения для Android обычно выполняются на Java. setJmp/longjmp-это вещь C/c ++ (да, я запрограммировал в ней некоторое время и до сих пор ненавижу :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top