//wings20180330: 1、在keil开发环境中,main.C文件直接调用disp.c的 fnDisp()函数,其中,fnDisp()函数只有定义,即没有定义声明,也没有引用声明,但编译器不会报error,只会报“declared imiplicityly”的warning。 2、给fnDisp()函数加关键字static,则报error。 解决方法1 #include <stdlib.h> 解决方法2:在调用该函数的前头加了一句“extern double abs(double __x); ” 另外fabs函数不用加外部声明直接调用也没报警,偏偏是abs函数就有这个问题呢。看了看math.h文件,只见头文件里面有对fabs函数的外部声明,而abs函数只有“ inline double abs(double __x) { returnfabs(__x); }”的声明。 inline修饰的函数,只能在本.c文件使用。所以外部调用abs的时候,会报警告 |
|