在Visual Studio中的android ndk c ++中,我正在尝试使用memmove。
编译器抛出:
错误:未在此范围内声明'memmove',并且在实例化点通过依赖于参数的查找未找到任何声明
我包含了 string.h 所以,我不明白我在这里缺少什么... 我检查了string.h,发现ndk中string.h中memmove的定义在预处理器块内
#if defined(__BIONIC_FORTIFY)
并且是未定义的。
我不知道什么是预处理器,为什么它阻止定义内存。
__ BIONIC_FORTIFY这是什么?定义安全吗? 在Android中使用memmove是否有问题?
我的研究:该预处理器由
定义 #define _FORTIFY_SOURCE
,但是将其添加到我的构建中并不会消除该错误。