1

我对 Android 开发很陌生,我想知道 Android 是否支持上述 C 语言中的功能。

提前致谢。

4

3 回答 3

5

在通过 Android NDK 以原生 C 进行编码时,这些函数可用。NDK 有一个包含这些函数的标准 C 库。

  • getcwd(buf, size) 的功能与 Unix 标准略有不同,如果 buf 为 NULL,它不会分配内存。您应该预先分配缓冲区。http://linux.die.net/man/2/chdir
  • chdir(path) 按预期运行,尽管它的使用受限于 Android(愚蠢地)不提供检索应用程序上下文相关信息的功能,例如外部存储的路径(尽管您可以通过 JNI 调用检索路径.) http://linux.die.net/man/3/getcwd
  • 我无法评论 longjmp 等 Android 中的功能。

如果你更喜欢留在 Android Java 环境中,你会发现没有当前工作目录的概念,所以 chdir() 和 getcwd() 已经过时了。相反,系统提供了一组用于发现内部和外部存储路径的函数(参见http://developer.android.com/guide/topics/data/data-storage.html)。此外,Java 异常或其他机制通常可以涵盖 setjmp()/longjmp() 的典型用法。

于 2012-07-13T11:13:35.583 回答
1

不确定它是否已将这些集成到语言中,但如果您确实需要访问任何 Native C 方法,您可以使用 JNI(Java Native Interface),它将允许您运行 Native C 代码。

另外,看看 Exception 和 File 类——它们可能会给你类似的功能。

于 2010-07-07T10:07:31.670 回答
-3

你不应该需要它们。Android 应用程序通常使用 Java 完成。setjmp/longjmp 是 C/C++ 的东西(是的,我用它编程了一段时间,但仍然讨厌它 :-)

于 2010-07-13T01:03:21.230 回答