1.写出完成以下功能的gdb命令。gdb查看线程信息。
- bt
- info thread
- set scheduler-locking off
- info break
解析:
backtrace bt 打印当前的函数调用栈的所有信息。
info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。
set scheduler-locking 线程调试 显示线程状态,off 不锁定任何线程
info break 可列出所有断点信息,info break 后也可设置要查看的break num
正确答案:B
2.若栈采用顺序存储方式存储,现两栈共享空间 V[1 m] , top[1] 、 top[2] 分别代表第 1 和第 2 个栈的栈顶,栈 1 的底在 V[1] ,栈 2 的底在 V[m] ,则栈满的条件是 。
- |top[2]-top[1]|=0
- top[1]+1=top[2]
- top[1]+top[2]=m
- top[1]=top[2]
解析:
意题目:栈 1 的底在 V[1] ,栈 2 的底在 V[m]
这道题其实是想考察双向栈的概念。在连续的数据空间内两个栈增长时栈顶标志的移动方向是相反的,所以当栈1的顶和栈2的顶邻接(top[1]+1=top[2]