动态链接器
摘要
枚举 |
|
---|---|
匿名枚举 25{
|
枚举android_dlextinfo::flags 的位字段定义。 |
函数 |
|
---|---|
android_dlopen_ext(const char *_Nullable __filename, int __flags, const android_dlextinfo *_Nullable __info)
|
void *_Nullable
打开指定的库。
|
结构体 |
|
---|---|
android_dlextinfo |
用于将特定于 Android 的参数传递给 android_dlopen_ext()。 |
枚举
匿名枚举 25
在android/dlext.h
中声明
Anonymous Enum 25
android_dlextinfo::flags
的位字段定义。
属性 | |
---|---|
ANDROID_DLEXT_FORCE_LOAD |
设置时,不使用 此标志允许在某些 ELF 文件共享同一文件名时强制加载库(例如,已加载的库已被移除并覆盖)。 请注意,如果库与旧库具有相同的 |
ANDROID_DLEXT_RESERVED_ADDRESS |
设置时, 如果保留区域不够大,加载将失败。 |
ANDROID_DLEXT_RESERVED_ADDRESS_HINT |
与 |
ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE |
指示 dlopen() 将 这意味着如果主库依赖于一个或多个尚未加载的库,它们将依次加载到从 每个库的 GNU RELRO 部分将按照加载顺序写入 这主要适用于系统 WebView 实现。 |
ANDROID_DLEXT_USE_LIBRARY_FD |
使用 文件名参数仍用于标识库。 |
ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET |
如果使用 这主要用于加载存储在另一个文件中的库(例如 ZIP 归档文件中未压缩的库)。此标志仅在设置了 |
ANDROID_DLEXT_USE_NAMESPACE |
此标志用于在不同的命名空间中加载库。 命名空间在 此标志仅供内部使用(因为没有用于命名空间的 NDK API)。 |
ANDROID_DLEXT_USE_RELRO |
设置时,在执行重定位后,将映射库的 GNU RELRO 部分与 这主要适用于系统 WebView 实现。 |
ANDROID_DLEXT_VALID_FLAG_BITS |
有效位的掩码。 |
ANDROID_DLEXT_WRITE_RELRO |
设置时,在执行重定位后,将映射库的 GNU RELRO 部分写入 这暗示着设置 这主要适用于系统 WebView 实现。 |
函数
android_dlopen_ext
在android/dlext.h
中声明
void *_Nullable android_dlopen_ext( const char *_Nullable __filename, int __flags, const android_dlextinfo *_Nullable __info )
打开指定的库。
__filename
和 __flags
参数与 dlopen(3) 的参数相同,特定于 Android 的标志通过 __info
的 flags
成员提供。