摘要: 1、简述 ​ 一个main.c文件从源代码到可执行文件要通过四个步骤:预处理、编译、汇编、链接。可重定位目标文件出现在汇编处理之后,其包含二进制代码和数据,并能与其他可重定位目标文件合并,最终创建一个可执行目标文件。 ​ 目标文件分为三种:可重定位目标文件、可执行目标文件、共享目标文件,其是按照特定 阅读全文
posted @ 2023-10-07 21:32 mjy66 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1、RAM ​ RAM又称为随机访问存储器(Random-Access Memory),其主要分为静态和动态两种。静态的RAM简写为SRAM,动态的RAM简写为DRAM。SRAM的访问速度比DRAM要快得多,因此价格也要贵得多,在应用上,SRAM主要用作高速缓存存储器,也就是CPU和主存之间的L1、 阅读全文
posted @ 2023-10-04 19:58 mjy66 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1、gdb的简介 ​ GDB全称"GNU symbolic debugger",它诞生于GNU计划(gcc也同样诞生于该计划),是Linux下常用的程序调试器,其通常以gdb命令的形式在终端中使用。 2、启用GDB调试 ​ 在使用GDB调试某个程序之前,需要对程序进行编译,并且需要在编译时加上编译选 阅读全文
posted @ 2023-09-23 20:20 mjy66 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 1、内存对齐是什么? ​ 计算机的内存就好像一个很大的数组,访问内存的时候,看似是可以从任何地址开始,但是实际上为了简化形成处理器和内存系统之间的接口设计,不同类型的数据会按照一定的规则在空间上排列,并不是按照顺序一个接着一个排放,这种排放方式就是内存对齐。 2、需要内存对齐的原因 ​ 内存对齐能够 阅读全文
posted @ 2023-09-23 20:09 mjy66 阅读(81) 评论(0) 推荐(1) 编辑
摘要: 汇编常用指令 1、操作数 立即数:表示常数值 表示方法:"$"+标准C表示法表示的整数 例:$0x1F 寄存器:表示某个寄存器的内容 表示方法:"%"+寄存器的名称 例:%eax 内存引用:会根据计算出来的地址访问某个内存位置。 表示方法:这个表示方法比较多,可以利用寄存器进行间接寻址,也可以通过一 阅读全文
posted @ 2023-09-22 17:09 mjy66 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 最近课题需要,需要写一个Qt界面,使用的过程中发现输出的程序界面中文出现乱码,解决方案如下: 在头文件中添加以下命令行: #pragma execution_character_set("utf-8") 阅读全文
posted @ 2023-09-19 09:47 mjy66 阅读(565) 评论(1) 推荐(1) 编辑
摘要: 1、程序的生命周期 ​ 一个hello.c文件从编写到输出经历了四个阶段,如图所示,执行这四个阶段的程序(预处理器、编译器、汇编器和链接器)一起构成了编译系统。 预处理阶段 预处理阶段主要将头文件插入到程序文本中,得到hello.i文件 编译阶段 编译器将hello.i中的语言翻译成汇编语言,得到h 阅读全文
posted @ 2023-09-18 21:24 mjy66 阅读(39) 评论(1) 推荐(1) 编辑
摘要: 一、VTK的环境配置 ​ VTK下载地址:Download | VTK,我使用的是VTK8.2.0的版本。 1)若你是windows系统则下载VTK-8.2.0.zip,若是linux,则下载VTK-8.2.0.tar.gz。 2)创建一个文件夹,里面创建5个文件夹,如图所示: 上述文件夹,bin存 阅读全文
posted @ 2023-09-15 14:39 mjy66 阅读(2052) 评论(0) 推荐(0) 编辑