1. extern void registerCPUBackendCreator();
    2. #ifdef ENABLE_ARMV82
    3. #if defined(__aarch64__) && defined(__APPLE__)
    4. extern void registerArm82BackendCreator();
    5. #endif
    6. #endif
    7. #ifdef MNN_CODEGEN_REGISTER
    8. extern void registerMetalBackendCreator();
    9. #endif
    10. void registerBackend() {
    11. static std::once_flag s_flag;
    12. std::call_once(s_flag, [&]() {
    13. registerCPUBackendCreator();
    14. #ifdef ENABLE_ARMV82
    15. #if defined(__aarch64__) && defined(__APPLE__)
    16. registerArm82BackendCreator();
    17. #endif
    18. #endif
    19. #ifdef MNN_CODEGEN_REGISTER
    20. registerMetalBackendCreator();
    21. #endif
    22. });
    23. }

    根据宏定义确定注册BackendCreator的种类