【发布时间】:2011-03-12 17:52:50
【问题描述】:
我是 Android 开发的新手,我想知道 Android 是否支持上述 C 语言中的功能。
提前致谢。
【问题讨论】:
标签: android android-ndk c-libraries
我是 Android 开发的新手,我想知道 Android 是否支持上述 C 语言中的功能。
提前致谢。
【问题讨论】:
标签: android android-ndk c-libraries
这些函数在通过 Android NDK 以原生 C 进行编码时可用。 NDK 有一个包含这些函数的标准 C 库。
如果你更喜欢留在Android Java环境中,你会发现没有当前工作目录的概念,所以chdir()和getcwd()已经过时了。相反,系统提供了一组用于发现内部和外部存储路径的功能(请参阅http://developer.android.com/guide/topics/data/data-storage.html)。此外,setjmp()/longjmp() 的典型用法通常可以被 Java 异常或其他机制覆盖。
【讨论】:
getcwd 中的 size 参数为 0 是未指定的行为。 Android 实现仍然是一致的。分配内存的行为其实是an extension to POSIX.1-2001。你提到的 Unix 标准是不正确的。
你不应该需要它们。 Android 应用程序通常使用 Java 完成。 setjmp/longjmp 是一个 C/C++ 的东西(是的,我用它编程了一段时间,仍然讨厌它 :-)
【讨论】:
不确定它是否已将这些集成到语言中,但如果您确实需要访问任何 Native C 方法,您可以使用 JNI(Java Native Interface),它可以让您运行 Native C 代码。
另外,看看 Exception 和 File 类 - 它们可能会为您提供类似的功能。
【讨论】: