我是Android开发的新手,我想知道Android是否支持C中的上述功能。

提前致谢。

有帮助吗?

解决方案

通过Android NDK在本机C中编码时,这些功能可用。 NDK具有标准C库,其中包括这些功能。

  • getCWD(buf,size)的功能与UNIX标准略有不同,因为如果BUF为null,则不会分配内存。您应该在缓冲区进行预先分配。 http://linux.die.net/man/2/chdir
  • CHDIR(路径)的功能如预期的,尽管其使用受到以下事实的限制: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)。 SETJMP()/longjmp()的典型用途通常可以由Java异常或其他机制覆盖。

其他提示

不确定是否将其集成到该语言中,但是如果您确实需要访问任何本机C方法,则可以使用JNI(JAVA本机接口),这将使您可以运行本机C代码。

另外,查看异常和文件类 - 它们可能会为您提供类似的功能。

您不需要它们。 Android的应用程序通常在Java中完成。 setJMP/longJMP是C/C ++的东西(是的,我在其中编程了一段时间,但仍然讨厌它:-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top