0
我想執行 function_A使用 APR鉤子,但我不知道它是否有效。 有人使用APR鉤子或知道工作原理嗎?如果有任何細節數據或數據顯示,這將是很好的。APR(Apache Portable Runtime)鉤子是否高效?
非常感謝!
我想執行 function_A使用 APR鉤子,但我不知道它是否有效。 有人使用APR鉤子或知道工作原理嗎?如果有任何細節數據或數據顯示,這將是很好的。APR(Apache Portable Runtime)鉤子是否高效?
非常感謝!
APR鉤子非常高效,掛鉤的調用是一個擴展爲循環遍歷一個函數指針數組並調用它的宏。
#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(ns,link,ret,name,args_decl,args_use,decline) \
APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \
link##_DECLARE(ret) ns##_run_##name args_decl \
{ \
ns##_LINK_##name##_t *pHook; \
int n; \
ret rv; \
\
if(!_hooks.link_##name) \
return decline; \
\
pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \
for(n=0 ; n < _hooks.link_##name->nelts ; ++n) \
{ \
rv=pHook[n].pFunc args_use; \
\
if(rv != decline) \
return rv; \
} \
return decline; \
}
所以真的沒有理由從性能的角度來避免它們。
感謝您的回答!我會嘗試並測試! – Sapete