elog调试技巧 --参考 ST官方的USE_FULL_ASSERT-调试技巧-钩子函数--一个简约简单一个隆重

.C.H

void (*elog_assert_hook)(const char* expr, const char* func, size_t line);

extern void (*elog_assert_hook)(const char* expr, const char* func, size_t line);

 

但是函数没有实现 只有一个带入函数:

void elog_assert_set_hook(void (*hook)(const char* expr, const char* func, size_t line)) {
    elog_assert_hook = hook;
}

 

所以这就是空吗?

是不是应该void (*elog_assert_hook)(const char* expr, const char* func, size_t line){};呀??

是空的!!!

因为!你!仔!细!看!

它不是函数 而是函数指针!

void (*elog_assert_hook)(const char* expr, const char* func, size_t line);--NULL 指针

void   elog_assert_hook (const char* expr, const char* func, size_t line){}--这才是函数写法

所以就是空 除非你自己set!!!

 

下文完成自己的工具箱

 

++++++++++++补充NXP定时器里面的做法 非常隆重++++++++++

函数指针的2中写法 上面很简单 下面很隆重

elog调试技巧 --参考 ST官方的USE_FULL_ASSERT-调试技巧-钩子函数--一个简约简单一个隆重_第1张图片

你可能感兴趣的:(elog调试技巧 --参考 ST官方的USE_FULL_ASSERT-调试技巧-钩子函数--一个简约简单一个隆重)