09 2023 档案
摘要:1、gdb的简介 GDB全称"GNU symbolic debugger",它诞生于GNU计划(gcc也同样诞生于该计划),是Linux下常用的程序调试器,其通常以gdb命令的形式在终端中使用。 2、启用GDB调试 在使用GDB调试某个程序之前,需要对程序进行编译,并且需要在编译时加上编译选
阅读全文
摘要:1、内存对齐是什么? 计算机的内存就好像一个很大的数组,访问内存的时候,看似是可以从任何地址开始,但是实际上为了简化形成处理器和内存系统之间的接口设计,不同类型的数据会按照一定的规则在空间上排列,并不是按照顺序一个接着一个排放,这种排放方式就是内存对齐。 2、需要内存对齐的原因 内存对齐能够
阅读全文
摘要:汇编常用指令 1、操作数 立即数:表示常数值 表示方法:"$"+标准C表示法表示的整数 例:$0x1F 寄存器:表示某个寄存器的内容 表示方法:"%"+寄存器的名称 例:%eax 内存引用:会根据计算出来的地址访问某个内存位置。 表示方法:这个表示方法比较多,可以利用寄存器进行间接寻址,也可以通过一
阅读全文
摘要:最近课题需要,需要写一个Qt界面,使用的过程中发现输出的程序界面中文出现乱码,解决方案如下: 在头文件中添加以下命令行: #pragma execution_character_set("utf-8")
阅读全文
摘要:1、程序的生命周期 一个hello.c文件从编写到输出经历了四个阶段,如图所示,执行这四个阶段的程序(预处理器、编译器、汇编器和链接器)一起构成了编译系统。 预处理阶段 预处理阶段主要将头文件插入到程序文本中,得到hello.i文件 编译阶段 编译器将hello.i中的语言翻译成汇编语言,得到h
阅读全文