当使用-Wmissing-prototypes时,如何在没有中断例程原型的情况下抑制GCC警告?

时间:2013-04-18 15:19:31

标签: c embedded compiler-warnings interrupt mplab

我使用MPLABX(Microchip产品的IDE)和XC16编译器(基于GCC)在C语言中编写嵌入式代码。

我使用-Wmissing-prototypes来确保我拥有所有功能的原型。我的问题是我有很多中断服务程序,这导致编译器抱怨缺少原型。

由于ISR功能永远不会被用户软件直接调用,我不想在我的代码中的任何地方放置原型。

有没有办法显示缺少原型的警告,除了中断服务程序(即用__attribute__((interrupt,auto_psv))标记的函数)?

1 个答案:

答案 0 :(得分:1)

我遵循了Carl Norum的建议,只是在函数定义的正上方添加了函数原型。

举个例子:

void __attribute__((interrupt,auto_psv)) _SPI2ErrInterrupt(void);
void _SPI2ErrInterrupt(void)
{
    // Do ISR stuff...
}