C语言中的隐式声明是什么,有什么危害?warning: implicit declaration of function ‘xxx’

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的隐式声明是什么,有什么危害?warning: implicit declaration of function ‘xxx’相关的知识,希望对你有一定的参考价值。

今天编译一个代码,提示CUSTOM_LAYER里面有一个C文件函数gettimeofday()隐式声明,用man手册查了一下,需要包含头文件#include <sys/time.h>

那么如果不包含会有什么后果呢?如果不包含,编译的时候就会去内建函数里去找,找得到,就报一个implicit declaration 的 warning,找不到,就报错

  1. 如果这个函数你没有重新实现,如果内建函数里有同名函数,你的函数刚好跟它们重名,它就不知道要找哪个;
  2. 如果这个函数是你重新实现过的,那么它就会到内建函数里找同名的函数,而不是你实现的那个函数,造成功能无法实现

所以:

为了避免这样的影响,强烈建议程序猿重视编译器给出的关于隐式声明的警告,及时通过包括必要的头文件来消除这样的警告

参考文章:万恶之源:C语言中的隐式函数声明

以上是关于C语言中的隐式声明是什么,有什么危害?warning: implicit declaration of function ‘xxx’的主要内容,如果未能解决你的问题,请参考以下文章

C中函数的隐式声明

深入浅出JavaScript中的隐式转换

为啥 gcc 给出警告:函数 qsort_r 的隐式声明?

函数的隐式声明是啥意思?

c++ 隐式声明是啥意思

深入探究js中的隐式变量声明