【发布时间】:2014-11-04 10:59:07
【问题描述】:
我在 FreeRTOS 源码中看到了这篇文章:
void vApplicationIdleHook( void )
{
/* The simple blinky demo does not use the idle hook - the full demo does. */
#if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0 )
{
extern void vFullDemoIdleHook( void );
//* Implemented in main_full.c. */
vFullDemoIdleHook();
}
#endif
}
为什么要声明这样的函数/方法?有什么好处?我在 Java 中也看到过类似的代码。
【问题讨论】:
-
函数声明与Java如何做事无关。
-
有可能,但不常见。多亏了这种可能性,我们才有了最麻烦的解析。
-
@user694733 Java 可以在方法中定义方法,不是吗?
-
@AtillaFiliz 这是函数声明,而不是定义。
-
@AtillaFiliz
void vApplicationIdleHook( void )从哪一行开始?在 C 语言中,源文件很长是很常见的。也许他们正在将一段代码重构为一个函数,只是懒得滚动到顶部。 :) 无论如何,代码质量低。