上篇 C语言入门
$?是shell中一个特殊变量,表示上一条命令的退出状态。
增量式开发:写一些代码编译运行,没问题再写下面的。
在编译时要加上-g选项,生成的可执行文件才能用gdb进行源码级调试:
gcc -g main.c -o main -g选项的作用是在可执行文件中加入源代码信息,比如第几条机器指令对应第几行源代码。但并不将源代码嵌入,因此在使用gdb调试时仍要使得能找到源代码。
gdb提供类似shell的环境,常用命令:list、start、next、step(简写为s)、backtrace(简写为bt,查看函数调用的帧栈)、info(查看函数局部变量的值)、print、display(每次停下来都会显示指定变量值,取消跟踪用undisplay)、break(简写为b,可接代码行数,也可接函数名,还可以设置断点在满足某个条件时才激活)、delete breakpoints、disable breakpoints、enable (这三个命令均加断点号)、info breakpoints(查看设置了哪些断点)、continue(简写为c,连续运行直到断点)、watch设置观察点(watchpoints)、x(打印指定存储位置值,以字节而非变量为单位)、
使用断言,assert,assert.h。
深度优先搜索(通常使用栈),广度优先搜索(使用队列)。
下篇 C语言本质
时间: 2024-11-09 02:11:56