c++ - Android NDK - 符号 __sfp 和 __sflag 与 64 位不兼容
问题描述
应用程序支持 32 位。从 32 位 (armeabi-v7a) 迁移到 64 位 (arm64-v8a) 时面临问题。
Issue - assertion "orig___sfp" failed
在项目中,使用两个符号 __sfp 和 __sflag。这些在 32 位上运行良好。这些符号用于一种功能。
int flags, oflags;
if ((flags = orig___sflags(mode, &oflags)) == 0)
return (NULL);
my_FILE *fp;
if ((fp = (my_FILE *)orig___sfp()) == NULL)
return (NULL);
这些符号是隐藏的,可以在下面的链接中找到。 https://android.googlesource.com/platform/bionic/+/50a7621b3fc493ffbb72aa23e29a4f1727dc1f51/libc/stdio/local.h https://android.googlesource.com/platform/bionic/+/a818445%5E%21/
谁能知道,在这些地方替换了哪些符号?哪些兼容64位?
解决方案
推荐阅读
- python - numpy - 张量乘积
- java - JSOUP 登录然后解析并在 HTML 字符串中查找价格
- javascript - 在大括号之间获取,包括第一个和最后一个大括号
- export-to-excel - 带有标题的 Spotfire Webplayer 交叉表导出
- java - handshake_failure 用于启用 2 路 SSL 的端点
- c++ - 在 Windows 10 操作系统中扩展控制台
- angular5 - 如何将验证添加到多个电子邮件地址到一个收件人字段逗号分隔 - Angular 5
- apache-spark - 为什么在 spark 分区数据中列被重命名为 c0,c1?
- python - 如何将通过 Azure CLI 获得的数据附加到 Python 列表和字典中?
- python - 我想将数据框拆分为具有范围的训练集和测试集