gdb调试过程及调试命令 LR和PC区别?

[更新]
·
·
分类:互联网
4335 阅读

gdb调试过程及调试命令

LR和PC区别?

LR和PC区别?

(1)PC是程序计数器,存储将要执行的指令地址
(2)LR是链接寄存器,是ARM处理器中一个有特殊用途的寄存器,当调用函数时,返回地址即PC的值被保存到LR中(mov lr,pc)。
(3)IR是指令寄存器,用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。
区别:
(1)IR是微体系结构概念(什么是微体系结构?就是程序员看不到,但硬件中确实存在的硬件逻辑,只有系统设计者知道其存在。),而LR是程序员可见的寄存器。比如用gdb调试程序时,如果打印LR寄存器内容是可以看到其值的,但是打印IR是不可能的。
(2)LR是PC的备份,PC寄存器存的是将要执行的指令的地址;IR存的是将要送到ALU等部件执行的指令内容。

为什么大学c语言课不顺便教一下Linux,Makefile,git,gdb等配套工具链呢?

想多了!
c语言最初24周,每周4课时,这点课时只能教会学生基本的语法和基本的算法。
然后开始教学改革,从24周变18周、16周、14周,现在是12周,每周四节。现在的课时量已经到了连最基本的内容都讲不完的地步,还加其他?你觉得可能吗?
总之,现在的教学改革就一个方向:减课时量。

qt语言使用机制是?

Qt是一个1991年由Qt Company开发的跨平台C 图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。
2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C 代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同X Window上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。