自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(191)
  • 收藏
  • 关注

原创 编译原理_第1部分_语法定义_文法举例

编译是把高级语言转换成目标语言(低级语言或机器语言)的过程.程序的编写围绕着"需求"进行.需求被分解为可以表达的逻辑,再用对应的工具完成.不管是框架,还是编程语言,都是工具.编写应用的程序员根据需求来决定如何使用工具.那么工具本身又是如何实现的呢?这就是设计编译器的人所考虑的.

2025-06-26 18:58:40 670

原创 编译原理_第1部分_语法定义_上下文无关文法&句型/句子/语言

编译是把高级语言转换成目标语言(低级语言或机器语言)的过程.程序的编写围绕着"需求"进行.需求被分解为可以表达的逻辑,再用对应的工具完成.不管是框架,还是编程语言,都是工具.编写应用的程序员根据需求来决定如何使用工具.那么工具本身又是如何实现的呢?这就是设计编译器的人所考虑的.

2025-06-25 17:15:33 855

原创 编译原理_第1部分_高级语言及其语法描述(2)

高级语言及其语法描述第2部分:数据类型与操作、数据结构、语句等知识。

2025-06-24 14:18:33 348

原创 编译原理_第1部分_高级语言及其语法描述

回顾高级语言及其语法描述包括语法和语义,语用---语法和语义用得较多,语用较少。

2025-06-24 03:14:23 320

原创 编译原理_引论_编译过程

接续上一篇编译原理_引论_什么是编译程序-CSDN博客。

2025-06-23 14:34:57 632

原创 编译原理_引论_什么是编译程序

计算机系统学习中很重要的一块内容.源代码是怎样成为机器指令的.源代码中的数据类型,函数(方法)等在机器层面是如何表达的.要想在代码优化及程序框架的理解和编写有深入理解,必须对懂得编译原理。

2025-06-23 09:32:01 248

原创 Qt学习及使用_第3部分_Qt框架功能概述---对象树

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书"),继承关系沿用本书说法:父类/子类,而非传统C++使用基类/派生类概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识。

2025-06-21 04:54:33 938

原创 Qt学习及使用_第3部分_Qt框架功能概述---信号与槽

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书"),继承关系沿用本书说法:父类/子类,而非传统C++使用基类/派生类概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识信号与槽是Qt编程的基础,也是Qt的一大创新.有了信号与槽的编程机制,在Qt中处理界面上各个组件的交互操作就变得比较直观和简单---

2025-06-19 08:58:16 728

原创 Qt学习及使用_第3部分_Qt框架功能概述---QMetaObject类&运行时类型信息&属性系统

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书"),继承关系沿用本书说法:父类/子类,而非传统C++使用基类/派生类概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识。

2025-06-17 07:27:05 919

原创 Qt学习及使用_第3部分_Qt框架功能概述---模块&全局定义&元对象系统概述之QObject类

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书"),继承关系沿用本书说法:父类/子类,而非传统C++使用基类/派生类概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识Qt框架包括很多模块.Qt对标准C++进行了扩展,引入了元对象系统.元对象系统的核心特性及其应用,包括属性系统信号与槽对象树。

2025-06-15 01:38:10 997

原创 Qt学习及使用_第2部分_GUI程序设计基础---可视化UI设计

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书"),继承关系沿用本书说法:父类/子类,而非传统C++使用基类/派生类概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识。

2025-06-13 00:39:07 1022

原创 Qt学习及使用_第2部分_GUI程序设计基础---GUI程序结构

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书"),继承关系沿用本书说法:父类/子类,而非传统C++使用基类/派生类概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识。

2025-06-12 06:36:23 578

原创 Qt学习及使用_第1部分_认识Qt---Qt开发基本流程

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书")概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识。

2025-06-09 23:41:06 706

原创 Qt学习及使用_第1部分_认识Qt---学习目的及技术准备

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书")概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识。

2025-06-07 20:26:17 1160 1

原创 离散数学_数理逻辑(三):一阶逻辑概念及一阶逻辑命题符号化

每一件事都存在现象和本质.现象是表面,本质是内在.数学可以说是自然科学之母,是一切自然现象的本质.对于编程,表面上是在写代码,实际上是在用离散数学理解问题和解决问题.学习是为了应用并不是做学术研究,所以笔者感觉没必要太深入了,因此调整学习方法---根据概念在程序中迅速找到对应的应用.注意这样做的后果必然不严谨,为提高效率做出牺牲准确性的选择参考书:离散数学(第4版)---以下称"本书"

2025-06-05 16:52:22 957

原创 Qt学习及使用_第1部分_认识Qt---Qt简介

学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面参考书:<Qt 6 C++开发指南>(以下称"本书")概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容红字)---重点内容(加粗红字),本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识Qt是一个跨平台应用开发框架(framework),他是用C++语言写的一套类库.特别是图形用户界面(GUI)程序.

2025-06-05 02:43:40 948

原创 离散数学_数理逻辑(二):命题逻辑的推理

每一件事都存在现象和本质.现象是表面,本质是内在.数学可以说是自然科学之母,是一切自然现象的本质.对于编程,表面上是在写代码,实际上是在用离散数学理解问题和解决问题.

2025-06-03 19:00:01 626

原创 离散数学_概述&&数理逻辑(一):命题逻辑

每一件事都存在现象和本质.现象是表面,本质是内在.数学可以说是自然科学之母,是一切自然现象的本质.对于编程,表面上是在写代码,实际上是在用离散数学理解问题和解决问题.笔者从一门高级语言入门学习编程,常常在学习和写代码时有"磕磕绊绊"的感觉.尽管在写代码的过程中,自己也能悟出和代码相关联的部分离散数学原理,但是没有系统学习过离散数学,会走不少弯路.所以这门重要的基础课需要补上.

2025-06-03 01:37:34 632

原创 理解计算机系统_线程(九):线程安全问题

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-27 17:07:54 977

原创 理解计算机系统_线程(八):并行

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-25 12:17:47 721

原创 理解计算机系统_并发编程(10)_线程(七):基于预线程化的并发服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-23 03:59:09 1225

原创 理解计算机系统_并发编程(9)_线程(六):读者-写者问题

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-19 08:14:15 573

原创 理解计算机系统_并发编程(8)_线程(五):生产者-消费者问题

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定本书P704~P706讲的生产者-消费者问题.站在程序的角度来分析.首先,生产者-消费者是一个程序模型.能满足对应的场景.P705第3段讲了几处场景.笔者认为一个能提出程序模型的思路,和写出实现模型的代码的人应该称为it界巨擎("大神".当然对于绝大多数的程序员来说,写不出来也没什么关系,能熟练使用也很不错.

2025-05-17 13:56:38 1194

原创 理解计算机系统_并发编程(7)_线程(四):信号量和互斥锁

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-16 01:45:46 893

原创 理解计算机系统_并发编程(6)_线程(三):线程内存模型和同步问题

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-15 06:29:35 651

原创 理解计算机系统_并发编程(5)_基于线程的并发(二):线程api和基于线程的并发服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定Posix线程是在C程序中处理线程的一个标准接口.而且在所有Linux系统上都可用.Pthreads定义了大约60个函数,允许程序创建,杀死和回收线程,与对等线程安全地共享数据,还可以通知对等线程系统状态地变化---解读:有api可以用是让人兴奋的,代码要写起来.

2025-05-13 20:22:03 940

原创 理解计算机系统_并发编程(4)_基于线程的并发(一):线程基础

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-13 00:23:15 955

原创 理解计算机系统_并发编程(3)_基于I/O复用的并发(二):基于I/O多路复用的并发事件驱动服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-12 04:31:02 844

原创 理解计算机系统_并发编程(2)_基于I/O复用的并发(一):select浅解

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-10 10:09:54 1061

原创 理解计算机系统_并发编程_几个概念---网络IO模型&位向量

如前贴软件(模块)开发的理解-CSDN博客所述,学习框架(库),需要理解程序模型及概念,并会使用配套api.并发的有些概念有些容易混淆,对此做一些补充理解.

2025-05-09 07:02:09 920

原创 软件(模块)开发的理解

按照笔者对<深入理解计算机系统>(以下称"本书")的阅读和学习,应该进入基于I/O多路复用阶段的并发.但是在看了教材以及其他帖子对这部分内容的分析以后,产生了一点迷茫.这部分内容,要其他概念的支撑,此外有应用级代码,.在这个过程中,笔者想了一个软件开发的流程的示意图,写出来一起讨论(实际自己当笔记看)

2025-05-08 08:21:34 339

原创 理解计算机系统_并发编程(1)_并发基础和基于进程的并发

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-04 23:52:20 748

原创 理解计算机系统_网络编程(6)_web服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-01 23:08:44 1102

原创 理解计算机系统_网络编程(5)_echo客户端和服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-30 01:59:11 1027

原创 理解计算机系统_网络编程(4)_套接字api

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-29 01:16:53 815

原创 理解计算机系统_网络编程(3)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-26 15:59:02 1087

原创 理解计算机系统_网络编程(2)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-24 14:20:22 911

原创 理解计算机系统_网络编程(1)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定所有的网络应用都是基于相同的基本编程模型,有着相似的整体逻辑结构,并且依赖相同的编程接口---黑体字是原话----解读:这句话有两层含义:1>不管是web端还是移动端,或者桌面端的通信模块,使用的api都差不多。

2025-04-23 19:13:26 988

转载 (转载)Linux常见命令

对操作系统的学习,Linux是绕不开的,主要原因嘛,因为开源(Windows如果开源,笔者也有兴趣看一看).对于计算机底层的理解,像<深入理解计算机系统>这本书,也是基于Linux操作系统.所以常见命令需要有个了解.

2025-04-18 20:40:25 24

原创 理解计算机系统_文件管理_系统级I/O(一)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-17 08:28:38 780

计算机体系结构中简单与复杂数据表示及指针操作解析

内容概要:本文深入探讨了计算机世界里的数据本质及其分类,特别是简单数据(如短整型)和复杂数据(集合),并详细介绍了数据在硬件和软件中的表示方式。首先阐述了简单数据的基本单位—地址和数值,并解释了32/64位机字长单元的意义以及简单数据操作的实际流程。接下来描述了如何利用集合与指针构建更为复杂的自定义数据结构,强调了指针的强大功能及其安全使用的注意事项。文中还提到了Java与C++语言间有关指针特性的一个有趣区别,并讨论了数据类型的重要性。最后,文章提及了一些编程细节,如正确进行数据命名的重要性,从而使得整个文章既涉及理论概念又紧密联系实际编程技巧。 适合人群:具有一定编程经验的学习者或开发者。 使用场景及目标:适用于正在探索计算机内部工作原理的人群;帮助初学者更好地理解和掌握关于低级别内存管理和高效编程方面的基础知识。 其他说明:虽然主要针对C/C++语言环境展开讨论,但很多思想也可以应用于其它现代编程语言。对于想要深入了解软硬件交互原理的人来说是非常有价值的参考资料。同时鼓励读者关注逻辑思维培养,在实践中体验规则所带来的美感。

2025-02-19

计算机系统:虚拟内存与缓存技术解析及其应用

内容概要:该篇文章深入探讨了虚拟内存与缓存技术的基础理论及其应用场景,首先详细解释了物理和虚拟寻址的不同及各自的优缺点。物理寻址采用真实的物理地址进行内存访问,主要应用于特定计算环境,而虚拟寻址则是借助内存管理单元(MMU)完成从虚拟地址到物理地址的转化。进一步地,文章重点介绍了缓存的作用机制和多层级缓存架构设计,强调为了优化性能,接近CPU的各级别缓存应存储经常使用的少量快速访问数据。另外,文章讲解了虚拟页面映射规则和虚拟内存管理的具体步骤和技术特点,并指出在计算机系统层面实施这些概念的好处——提升系统效率和服务质量。最后阐述了一些高级主题,如时间局部性和缓存替代算法。 适用人群:希望了解或者正在研究现代计算机系统内部工作机制的专业人士和学生,特别是关注虚拟内存和高性能计算的人群。 使用场景及目标:适用于想要深入了解计算机内存管理体系的学习者或开发者,帮助其掌握计算机组成原理中有关内存管理和高效利用的知识。同时,能够指导相关从业者进行合理的系统架构设计和技术选型决策。 其他说明:尽管内容涉及到一些较为复杂的技术细节,但总体表达力求简洁明了,并提供了许多实用的例子来辅助理解和应用这些关键概念。

2025-02-16

理解计算机系统-程序的机器级表示(三)算数和逻辑操作,leaq指令,栈帧分析

理解计算机系统-程序的机器级表示(三)算数和逻辑操作,leaq指令,栈帧分析

2024-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除