关于function declared implicitly的正确解法以及extern的用法
2017-06-03 08:46
393 查看
一直以来以为function declared implicitly这个问题都是很容易的解决的,所以没有在意,没想到昨天查了下,网上竟然有好多种说法是不合适的,所以解答下。
首先这句话是函数没有声明,那么怎么解决的,下面说两种方法(在一个文件下就不讲了)。
在a.c中个调用fun1
void main
{
fun1();
}
在b.c中定义fun1
void fun1(void)
{
}
这时在a.c中就会有function declared implicitly,这时解决方法如下
方法1:新建一个b.h文件,在文件里面写下void fun1(void)
然后在a.c中包含b.h这个头文件。
方法2:在a.c中写下extern void fun1(void);//函数外部声明。
当然了在有些编译器下,上面的问题可能也不会出现警告,直接报错。比如c++下就会认为出错
首先这句话是函数没有声明,那么怎么解决的,下面说两种方法(在一个文件下就不讲了)。
在a.c中个调用fun1
void main
{
fun1();
}
在b.c中定义fun1
void fun1(void)
{
}
这时在a.c中就会有function declared implicitly,这时解决方法如下
方法1:新建一个b.h文件,在文件里面写下void fun1(void)
然后在a.c中包含b.h这个头文件。
方法2:在a.c中写下extern void fun1(void);//函数外部声明。
当然了在有些编译器下,上面的问题可能也不会出现警告,直接报错。比如c++下就会认为出错
相关文章推荐
- 【note】stm32 keilMDK出现warning: function XX declared implicitly
- [转载]warning: function declared implicitly错误原因
- function XX declared implicitly
- warning: function declared implicitly错误原因
- function "assert_param" declared implicitly || Undifined symbol assert_param__stm32
- [VDSP中的Warning]function declared implicitly
- warning:function "bsp_read_word" declared implicitly错误原因
- warning: function declared implicitly错误原因
- main.c(16): warning: #223-D: function "led_init" declared implicitly
- warning: function declared implicitly错误原因
- warning: function declared implicitly错误原因
- keil编译出现function abs declared implicitly的解决方法
- warning: function declared implicitly错误原因
- KEIL MDK中 warning: #223-D: function "xxx" declared implicitly 解决方法
- warning: function declared implicitly错误原因
- IAR Warning[Pe223]: function 'assert_param' declared implicitly 解决方法
- 关于java的集合类,以及HashMap中Set的用法!
- Linux中关于find指令的用法以及whereis指令
- 关于extern ”C“以及vs2008里的实例
- "lcd_print" declared implicitly 产生的原因