当前位置:网站首页>C程序调试过程常见的错误
C程序调试过程常见的错误
2022-08-02 04:03:00 【丘比特惩罚陆】
总结一下本在编程中,常见错误、和程序在调试过程中应该如何调试、修改。
在C语言编程,一般需要借助C相关的编译软件,例如,在Keil uVision5编程环境下,如果提示工具连接错误,则表示MDK安装程序有问题,重新卸载,并全部删除后重新再进行安装后即可。
1、Error C129:missing ‘;’before‘void’;//丢失;
调试与修正:在函数声明的时候结尾没加分号;
2、Waring C235:parameter 3:different types;
调整:参数类型不对,这表明函数的形参类型和声明的函数形参类型不一致;
解决办法:将对应的函数形参声明的形参改成一致即可。
3、KEY.C(135): error C20: 'A': undefined identifier
调整:用户使用前有对‘A’定义。
解决:对A定义就可以了。
4、KEY.C(131): warning C28: 'A': unreferenced local variable
调整:用户义了‘A’并没使用‘A’;
解决:把‘A’删除。
5、KEY.C(135): warning C206: 'key': missing function-prototype
Key缺乏函数原型;两种可能是:
1、用户没有写key的函数体;
2、用户在模块化编程的时候没有声明key函数。
解决办法:申明key函数或写函数体。
6、 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: _IIC_GETS
MODULE: mian.obj (MIAN)
未添加_IIC_GETS,用户在模块化编程的时候没有把_IIC_GETS所在的库添加进来。
解决办法:把_IIC_GETS所在的库添加到工程文件。
7、mian.c(6): warning C318: can't open file 'file.h'
打不开‘file.h’;用户没有编写或添加'file.h',还有可能是名字写错了。
解决办法:添加、编写、修改'file.h'就可以了。
8、RROR L104: MULTIPLE PUBLIC DEFINITIONS
用户模块化编程的时候在'.h'文件声明时,给数组赋值了。
解决办法:把'.h'中的赋值删除。
9、warning C209: '_delay': too few actual parameters
Delay函数里面没有传递实参。
解决办法在函数调用的时候给传合适的实参。
10、warning: #951-D: return type of function "main" must be "int"
MDK的main必须是int型的返回值;不然就会报错。
解决办法:把main中的空void改成整int。
11、 last line of file ends without a newline
解释:文件最后一行不是新的一行,编译器要求程序文件的最后一行必须是空行,想了半天没想通为什么要这样。
解决办法:可以不理会.若是觉得出现警告不爽,那么在出现警告的文件的最后一行敲个回车,空出一行。
12、warning: data may be used before being set
描述:变量'data'在使用前没有明确的赋值.如:uint8 i,data; //定义变量i和data,二者都没有明确赋值。
解决办法:初始化的时候赋初值。
13、warning: missing return statement at end of non-void function "******"
描述:返回非空的函数"getchaek"的最后缺少返回值声明.此处应该是return x;返回一个int型数据,若是没有返回值,编译器产生警告getchaek是一个带返回值的函数,但是函数体里面没有return。
解决办法:在函数体加上return,返回一个值回;
14、MAIN1602.C(74): error C213: left side of asn-op not an lvalue
左边的数据不是一个有效的左值;数组能赋值给指针,但是指针不能赋值给数组。
解决办法:不能让指针赋值给数组;语法错误。
15、INIT12864.C(9): error C100: unprintable character 0xBF skipped
后面屏蔽就会发现,里面有编译器不能识别的汉字,编辑的时候难免出这样的错误;
解决办法:把汉字删除或者屏蔽。
15、warning C317: attempt to redefine macro 'uint'
Define 是宏定义,他不是语句,在他后面不用加上;如果添加了分号,分号一同编译和替换。
解决办法:把int后面的';'删除
边栏推荐
- micro-ros arduino esp32 ros2 笔记
- OpenPCDet environment configuration of 3 d object detection and demo test
- OpenCV内阈值处理方法
- Deep Learning Basics Overfitting, Underfitting Problems, and Regularization
- 【FreeRTOS】12 任务通知——更省资源的同步方式
- 被大厂强制毕业,两个月空窗期死背八股文,幸好上岸,不然房贷都还不上了
- 如何让固定点的监控设备在EasyCVR平台GIS电子地图上显示地理位置?
- redis基础入门
- ScholarOne Manuscripts submits journal LaTeX file and cannot convert PDF successfully!
- CODESYS指针型变量编程应用(配方)
猜你喜欢
多主复制下处理写冲突(1)-同步与异步冲突检测及避免冲突
2022-08-01:以下go语言代码输出什么?A:panic;B:5;C:6;D:编译错误。 package main import ( “fmt“ ) func main() {
可视水印的实现——2使用图像加法
什么是接触电流怎么测?
Arduino框架下ESP32重启原因串口信息输出示例
ADSP21489数据手册表摘要
Andrew Ng's Machine Learning Series Course Notes - Chapter 18: Application Example: Image Text Recognition (Application Example: Photo OCR)
数据复制系统设计(2)-同步复制与异步复制
批量--10---根据set数拆分文件
SCI写作攻略——附带常见英语写作句式
随机推荐
Platts Analysis-MATLAB Toolbox Function
热爱和责任
张成分析(spanning test):portfolio_analysis.Spanning_test
3D object detection dataset
今天突然下雨
HyperLynx中层叠设计实例
nr部分计算
OpenCV内阈值处理方法
Deep Blue Academy-Visual SLAM Lecture 14-Chapter 6 Homework
不会多线程还想进 BAT?精选 19 道多线程面试题,有答案边看边学
吴恩达机器学习系列课程笔记——第六章:逻辑回归(Logistic Regression)
如何解决QByteArray添加quint16双字节时错误?
单目3D目标检测之入门
什么是接触电流怎么测?
三维目标检测之ROS可视化
SCI写作攻略——附带常见英语写作句式
micro-ros arduino esp32 ros2 笔记
Visual SLAM Lecture Fourteen - Lecture 13 Practice: Designing a SLAM system (the most detailed code debugging and running steps)
开放原子开源峰会落幕,百度超级链牵头成立XuperCore开源工作组
SCI writing strategy - with common English writing sentence patterns