课堂笔记-编程错误

!!编译无错误无警告,程序内容也无逻辑错误。可能因为存在两个以上的.c文件时,在1.c调用2.c中的函数体时,例:wendu =        get_wendu;漏写(),wendu = get_wendu();导致编译无错误无警告。但程序实现功能不正确。
!!使用指针时,定义数组[ ]时最好不要连续定义两个长度相同的数组,长度不同应该长度小的在上面。


***.c(9): warning C329: single-line comment contains line-continuation
错误:在(9)行,加注释的时候后面或者在中间,多出一个自左向右的斜杠”\“。 


***.c(442): error C300: unterminated comment
错误:在注释的时候只写了一个”/*“   , 未写”*/“


***(29): warning C206: 'display': missing function-prototype
错误:存在未声明的函数体display();


*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?DISPLAY?_____________________
错误:存在一个未被调用的函数体DISPLAY();


*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL:  TIME
MODULE:  .\Objects\ds1302.obj (DS1302)
可能一:存在多个C文件,在1.c中使用了2.c中的变量或数组time。在2.c中的头文件中该变量之间加上extern time,设成全局变量。
可能二:在1.c中有一个大写的TIME变量,在2.c中有一个小写的time变量。大写TIME与小写time冲突。


*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:  DS1302_TIME
可能一:未把含有DS1302_TIME
这个函数体的头文件加入工程中,右击添加已存在头文件。编译这个头文件。
可能二:未包含含有DS1302_TIME
这个函数体的头文件,加入#include <....... .h>。


****.c(9): warning:  #1295-D: Deprecated declaration SysTick_Handler - give arg types
错误:在函数声明中没有参数的函数体小括号中()应加上void .      即SysTick_Handler(void);


..\OBJ\Template.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by stm32f10x_it.o and main.o).
错误:说明在stm32f10x_it文件中已经定义过SysTick_Handler()这个函数体;可找到对应文件注释掉。


main.c(26): warning:  #223-D: function "xxxxx" declared implicitly
错误:xxxxx函数体没有在.h文件中声明,或者与.h中声明的函数不一致。


main.c(32): error:  #31: expression must have integral type
错误:存在无法取余数的变量  ->>  %temp中temp必须为整数,不可以为float等类型。


main.c(16): error:  #165: too few arguments in function call
错误:存在一个函数体没有填写()内的参数。


main.c(37): error:  #268: declaration may not appear after executable statement in block
错误:STM32中不允许变量的定义在语句之后,把变量或数组的定义放在最前面。


main.c(37): error:  #28: expression must have a constant value
错误:在数组元素个数中[ ]中括号中给了一个变量。

 

个人见解,感谢阅读。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值