## arm-gcc neon编译选项和预定义宏之间的联系
### armv7
* 编译选项:`-march=armv7-a`,此时cpp的预定义宏中并没有`define __ARM_NONE 1`,即使通过CMake等手动定义该宏,在`#include <arm_neon.h>`的过程中仍然会出错
* 编译选项:`-march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4`,此时cpp的预定义宏中会包含`#define __ARM_NOEN 1`,无需手动定义
### armv8(aarch64)
* 编译选项:`-march=armv8-a`,此时cpp的预定义中就已经包含`__ARM_NEON`,同时还会包含`#define __aarch64__ 1`
## arm-qemu
* arm-qemu在x86上运行neon优化后的代码和优化前的代码没有什么区别,即还是模拟执行,并没有优化