我知道这两个功能不是由仿生学libc实现提供的。我确实需要这些C++到安卓端口。我该如何解决这个问题?我不知道从哪里开始。
我收到这些错误消息:
error: unknown type name 'wordexp_t' error: use of undeclared identifier 'crypt'
有什么想法吗?
发布于 2022-05-24 17:33:24
完整的BSD UNIX确实提供了这种类型和功能。然而,有充分的理由,为什么它们没有提供在Android上。
T用于shell样式的单词扩展。
地窖()用于UNIX密码加密。这不是任何一种通用加密;它用于接受输入的密码,创建哈希(因为这正是这种加密所做的),然后查看结果字符串是否与UNIX密码文件中的用户密码哈希匹配。
当然,Android没有用户登录系统,也没有命令行(除非添加命令行,或者使用亚行,这对Android应用程序用户来说都是正常的)。
因此,这种类型和调用的使用都在与Android无关的库中。当您将软件移植到一个非常不同的平台时,这样的发现是很常见的。
正确地解决这个问题需要找出并理解源代码中缺少的类型和函数的用途。当你理解了他们的目的,你就能知道他们是否需要在Android上,在这种情况下,他们将需要被替换为其他东西。
然后,您需要修改库的源代码,以便它在现有的平台上使用它们,在Android上使用其他的东西。通常最好是重构代码,这样(例如),您将得到一个源文件,其中包含用于word扩展的特定于平台的代码,另一个包含用于访问密码的特定于平台的代码。
好消息是,当您需要将相同的代码移植到iOS时,此结构将很好地为您服务。
https://stackoverflow.com/questions/67685905
复制相似问题