diff --git a/interfaces/kits/ability_lite/ability_loader.h b/interfaces/kits/ability_lite/ability_loader.h index e35e2236a5cef76b03e876b7db4f40bff3cf6c94..314674cc6427e795ecbed5384685cb0d157d8ec3 100644 --- a/interfaces/kits/ability_lite/ability_loader.h +++ b/interfaces/kits/ability_lite/ability_loader.h @@ -128,9 +128,11 @@ private: #ifdef ABILITY_WINDOW_SUPPORT #define REGISTER_AS(className) \ __attribute__((constructor)) void RegisterAS##className() { \ - AbilityLoader::GetInstance().RegisterAbilitySlice(#className, []()->AbilitySlice* { \ - return new className; \ - }); \ + do{\ + AbilityLoader::GetInstance().RegisterAbilitySlice(#className, []()->AbilitySlice* { \ + return new className; \ + }); \ + }while(0) \ } #endif } // namespace OHOS