gcc编译的几种错误信息及其解决方法
1.语法错误
一般实在输入代码时括号不匹配或者使用了关键字。遇到语法错误,可以仙剑次错误提示中出现的第一个行号,如果该行没有问题,就检查该行所开始的语法模块是否完整,然后修正该结构。
2.头文件错误
如果编译器出的错误提示说can not find include file ***.h,就说明是指定的包含文件有问题,系统在编译过程中找不到指定的头文件
3.类库错误
如果出现类似“ld:-lm:No such file or directory”的错误,可能是在默认的目录内找不到相应的类库。这种问题的解决方法是在编译时使用-I参数指定要使用的类库所在的目录。
4.未定义符号
出现类似Undefined symbol 的提示,说明在编译过程中发现了没有被定义的符号变量
gdb简介
gdb 程序名
gdb
这两种方式均可进入gdb的交互式调试界面。在交互模式中可以使用许多命令:
- file;加载要调试的程序
- kill;终止正在调试的程序
- list;列出10行程序的源代码
- next;单步执行程序
- step;单步执行程序,与next不同的是,其会进入调用的函数内部。而next只需要调用函数的结果。
- run;运行加载的程序
- quit;退出gdb
- watch;监视一个变量的值
- break;在代码里设置断点,程序运行到断点处时会停下来,然后用户可用next或step单步执行程序。但使用break的前提是程序在编译时使用了g参数
- make;不用退出gdb,重新编译代码,然后在gdb中运行
- shell;可调用shell命令
- bt;查看函数堆栈
- c函数;继续运行
- finish;退出函数
- info;查看相关信息,如info break