我需要修改为树莓派(第一代)(运行ARM11 cpu)编写的一系列代码和脚本,以使其在基于Allwinner H6的主板cpu(ARM Cortex-A53)上运行。
我已经将ARCH armv7l
中的ARCH aarch64
替换为cmake -D CMAKE_CXX_FLAGS="-march=armv7-a" /..path
。
但是,要启动我拥有的cmake编译命令字符串
-march=armv7-a
我想用-march=armv8-a
代替aarch64
。
现在我的疑问是:对于Allwinner H6 64bit编译是否正确?为什么我不能直接放置armv8-a
而不是JSON.stringify({id:0, name:foo}) === JSON.stringify({id:0, name:foo}) // true
?最后,“ armv8”和“ armv8-a”之间有什么区别?。
对不起,我在这里有些困惑。
答案 0 :(得分:1)
-march=armv8-a
是正确的,但具体程度不如
之所以说-mtune=cortex-a53
,是因为Allwinner H6是cortex-a53。-march=aarch64
而不是-march=arm-v8-a
,因为这太笼统了:毕竟,您已经可以按照here的说明指定‘armv8-a’, ‘armv8.1-a’, ‘armv8.2-a’, ‘armv8.3-a’, ‘armv8.4-a’ and ‘armv8.5-a’
。 ARMv8-A
,ARMv8-M
和ARMv8-R
的总称。根据手臂术语,A,R和M是“配置文件”,并且针对不同类型的应用程序:
有关更多详细信息,请参见here,here和here。