【转载】C语言在编译过程中常见的error或warning

原文地址:

https://blog.csdn.net/halikuiyin/article/details/77837117


C语言在编译过程中常见的error或warning:


1、在预处理阶段:


(1)、 error:No such file or directory
   中文含义:没有相应文件或目录
   错误原因:编译器的搜索路径上找不到所需要的文件。该文件可能已在命令行 中指定,或在 #include 语句中说明。

(2)、error: macro or '#include' recursion too deep
中文含义:宏或'#include' 递归太深
错误原因:语句 #include 嵌套太深。当预处理器遇到太多嵌套的 #include 指令时,会导致此错误。通常该错误由两个或多个文件进行相互引用时,会引发无限递归。


(3)、error:invalid preprocessing directive #...

中文含义:非法的预处理命令#...
错误原因:该错误指明预处理器遇到了不可识别的 # 命令。

(4)、error:unterminated '#if' conditional
中文含义:'#if' 语句条件没有终止
错误原因:缺少 #endif 语句

2、在编译阶段:

(1)、error:'variable' undeclared (first use in this function)
中文含义:变量'variable' 没有声明(第一次使用此变量)
错误原因:你没有声明‘variable’;


(2)、error:conflicting types for 'Alex'
中文含义:对 'Alex' 变量存在突出类型
错误原因:前面可能已对 'Alex' 声明了其它数据类型。


(3)、error:too many types in declaration
中文含义:在声明中定义太多的类型

错误原因:少了逻辑运算符关系,关系运算符之类的符号


(4)、warning: comparison between pointer and integer
中文含义:警告:对指针和整型值进行比较可能没问题。此警告通常是由'if (strstr(line,"word") != NULL )' 之类的strstr 函数返回指针或空值。


编译时可能遇见的error或warning太多了,我只列出了几个;


3、在链接阶段:

(1)、error: file not recognized: File format not recognized
中文含义:文件不可识别:文件格式不可识别。
错误原因:文件扩展名不是 ‘.c’。

(2)、error:undefined reference to 'foo'
中文含义:没定义对'foo' 的引用。
错误原因:程序中使用了在本文件和其它库中没有定义的函数或变量。有可能是丢失了链接库,或使用了不正确的名字。


(3)、error:usr/lib/crt0.o: Undefined symbol _main referenced from textsegment
中文含义:从文本段引用没定义的_main 符号
错误原因:缺少 main()函数—但实际上有,为什么?
1.在头文件中可能存在语法错误;
2.在C 源文件中可能缺少gcc 命令


(4)、error:Undefined symbol _initscr referenced from text segment
中文含义:从文本段引用没定义的_initscr 符号
错误原因:调用了一个函数,但并没有该函数,或在#include 语句中没有包含该函数的库。


4、在运行阶段:

(1)、error while loading shared libraries:cannot open shared object file: No such file or directory
中文含义:装载共享库是出错:
不能打开共享对象文件:不存在该文件或目录
错误原因:程序中使用了共享库,但程序启动时通过动态链接找不到所需的共享库文件。如果确定存在,则请修改共享类库搜索路径变量值LD_LIBRARY_PATH。

(2)、error:Segmentation fault
中文含义:分段错误,总线错误
错误原因:企图访问受保护的内容或覆盖重要的数据! 它指明内存访问错误。
通常的原因如下:
1、反向引用一个空指针或没初始化的指针;
2、超出数组访问的下标;
3、对 malloc, free 和相关函数不正确的使用;
4、使用 scanf 时的参数(数量、类型)不正确。

(3)、error:floating point exception
中文含义:浮点运算异常
错误原因:这是个算术运算异常。如除数为0,上溢、下溢或非法的操作(如对-1 求平方根)。

(4)、error:Illegal instruction
中文含义:非法指令
错误原因:当系统遇到非法的机器指令时,产生此错误。通常此类错误是在源代码已编译成特定机器的目标代码后,又在其它类型的机器上运行时发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值