Целый год не доходили руки и вот всё таки дошли! Ура! Решил перейти от статей по темам к мелким заметкам. Надеюсь пригодится не только мне любимому.
По существу. Появилась как то на днях необходимость переехать с одним проектом с arm-v7a на arm64-v8a он же AARCH64 вместе с NEON кодом. Всё переехало отлично, только NEON включаться не хотел. Оказалось, что для новой архитектуры разработчики ввели новый макрос. Раньше, при включении NEON в опциях компилятора он определял макрос __ARM_NEON__. В новой архитектуре NEON всегда есть и новый макрос опеределяющий его наличие __ARM_NEON. Тут нет никакой опечатки, просто убрали два почерка в конце имени!
И ещё, пока рылся в поисках изменений для новой архитектуры, узнал как у GCC спросить весь список предопределённых макросов:
По существу. Появилась как то на днях необходимость переехать с одним проектом с arm-v7a на arm64-v8a он же AARCH64 вместе с NEON кодом. Всё переехало отлично, только NEON включаться не хотел. Оказалось, что для новой архитектуры разработчики ввели новый макрос. Раньше, при включении NEON в опциях компилятора он определял макрос __ARM_NEON__. В новой архитектуре NEON всегда есть и новый макрос опеределяющий его наличие __ARM_NEON. Тут нет никакой опечатки, просто убрали два почерка в конце имени!
И ещё, пока рылся в поисках изменений для новой архитектуры, узнал как у GCC спросить весь список предопределённых макросов:
gcc -dM -E - < /dev/null