版本是gcc for arm 4.1.1 代码中,有些函数先调用后定义,而且没有在文件开头声明,但gcc编译时,有些地方报告错误,有些地方报告告警, 比如,在166行调用了函数846行定义的__write_roll_bak函数,出来的是告警信息 mdr.c:166: warning: implicit declaration of function '__write_roll_bak' mdr.c:846: warning: conflicting types for '__write_roll_bak' mdr.c:166: warning: previous implicit declaration of '__write_roll_bak' was here 在79行调用了350行定义的__read_MDR_main函数,出来的是出错信息 mdr.c:79: warning: implicit declaration of function '__read_MDR_main' mdr.c:350: error: conflicting types for '__read_MDR_main' mdr.c:79: error: previous implicit declaration of '__read_MDR_main' was here
如果在头文件把函数声明一下,则告警和出错信息都消失了,说明语法本身是正确的。 迷惑中,哪位大侠解解惑?
|