在android arm64平台下,crc32,aes等常用算法有指令集实现。故在android下,可借助这些指令实现代码加速。
使用cpu-features库
如何判断自己的手机是否支持crc32呢? 有三个方法:
方法1,直接查看/proc/cpuinfo
方法2,使用ELF辅助向量 API
unsigned long hwcap = getauxval(AT_HWCAP);
if (hwcap & HWCAP_CRC32)
return 1;
}
return 0;
第三个方法:
使用cpu-features库
#include <cpu-features.h>
uint64_t cap = android_getCpuFeatures();
if (cap & ANDROID_CPU_ARM64_FEATURE_CRC32