代码中的函数重新声明没有错误 GCC/XC8

问题描述 投票:0回答:0

在这里发表第一篇文章。在此先感谢您的帮助。

我编写了用于嵌入式系统的代码,但使用的是 Windows 演示版。在其中我不小心重新声明了一个函数,想确定它的效果以及将来如何捕获它。

下面是我写的(简化版)

#include "external_file.h"

void vClear( void ){
   void vReset( void );  //This should have been vReset();
 }
  • vReset,已经在 external_file.h 中原型化并在 external_file.c 中定义
  • 在 PIC(XC8 2.40 w-9) 和 Windows(GCC 12.2.0 C99 -Wextra -Wall) 上运行
  • XC8 提供警告:(520) 函数“_vReset”从未被调用
  • GCC 不提供警告/错误
  • 这个重新声明似乎掩盖了正确的功能

有人能解释一下到底发生了什么吗?

c gcc prototype xc8
© www.soinside.com 2019 - 2024. All rights reserved.