自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

superSmart_Dong的博客

这家伙很懒,啥都没写

  • 博客(173)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 软考中级——软件工程基础概念总结

目录一、需要记和背的1.软件工程基本原理2、软件生存周期3、软件过程中的能力成熟度模型 CMM4、能力成熟度模型集成5.概要设计内容6.软件配置管理内容7.风险管理内容8.软件质量特性和子特性9.系统设计基本原理10.系统总体结构设计原则11.软件开发方法12.软件质量保证其他:二、需要理解的1.软件过程模型2.演化模型3.结构化分析方法——模块独立性三、需要练习的(略)1.软件测试2.软件进度管理3.软件度量4.结

2022-03-08 23:48:20 1574

原创 动态规划算法分析和理解:最长公共子序列、公共子字符串

定义啥的就不多说了,反正我有自己的理解就行。一、递归和动态规划 动态规划是算法的一种和 ”递归“有相似之处,也有不同。动态规划和分治递归,都是为了拆分出更小的子问题,对子问题逐一解决,最后得到结果。两者不同的地方在于,递归的子问题拆分是在代码实现中体现的,利用栈将大问题拆分成子问题,最后由最小的子问题,逐个反馈合并成大问题所需要的结果。是一个自上而下拆分,再自下而上计算的过程。而动态规划的子问题的拆分过程并不是在代码中体现,而是由程序员在编码前分析好。在编码时,直接求解最小的问题,通过...

2022-01-29 16:29:17 1785

原创 编译原理:全片知识难点总结

一、概念1)字母表、字符串、字符串和运算字母表用 Σ 表示,是字符的非空有穷集合,字符是字母表Σ的元素 字符串,是字母表Σ中字符组成的有穷序列,其长度用 |<字符串>| 表示。空串用是ε表示, |ε| = 0 Σ* 指包括空串在内的Σ上所有字符串的集合。称之为字母表的闭包。 字符串的方幂: 例如 ,指 连续n个a字符 对于集合A的正则闭包 + 对于集合A的闭包 * ,文法分类分为0型文法,1型文法,2型文法,3型文法,分别又称为短语文法,上下文有关文法...

2021-12-17 23:50:56 1940

原创 计组原理 : 计算机可靠性概述和性能评价

计算机系统的可靠性指它开始运行( t = 0 ) 到某时刻 t 这段时间内能正常运行的概率。 用 R(t) 表示。失效率即单位时间内失效的元件数与总数的比例。用λ表示两次故障之间系统能正常工作的时间的品均值称为平均无故障时间(MTBF) 即MTBF = 1 /λ通常用平均修复时间(MTBF)来表示计算机的可维修性 ,即计算机的维修效率,指从故障发生到机器修复平均所需......

2021-12-01 23:59:53 2335

原创 奇偶校验码 、循环冗余校验码(CRC)、 海明码

在计算机运行时,为保证二进制数据在传输时准确无误,通常利用校验码来检测并纠错传输的数据。所谓码距就是任意合法编码之间至少有多少个二进制位不同。例如: 码距位1的“8 1 4 2” 码对应的二进制分别是 1000,0001,0100,0010. ,当其中一个编码二进制位发生了变化,还是满足码距为1的合法编码。所以,单纯靠码距并不能检验出传输内容中的错误。一、奇偶校验码在编码中增加一位校验位来使编码中的1的个数为奇数或者为偶数,从而使码距变为2.奇校验就是加上校验位来使编码中的1的个数为奇数,偶校.

2021-11-27 00:23:00 3429

原创 原码、反码、补码、移码的表示

若字长n为8时,那么45的二进制表示0 0101101 ,若数值X1.原码 [X]原,在二进制数值中,正数保持不变,负数符号位置1.2.反码 [X]反,的正数保持不变 , 负数对数值的绝对值每一位按位求反3.补码 [X]补,的正数不变,负数在反码末位加14.移码 [X]移, 在偏移2^(n-1),在补码的基础上首位取反...

2021-11-25 22:10:01 4102 1

原创 Linux C : TCP/IP 和 网络编程

创建socket;绑定socket和端口号;监听端口号; (UDP省略)接收来自客户端的连接请求;(UDP省略)从socket中读取字符;发送消息回客户机。客户端套接字编程步骤如下创建socket;连接指定计算机的端口; (UDP省略)向socket中写入信息;从服务器接收消息。...

2021-11-23 22:04:10 4839

原创 Linux C: IO库函数,文件流缓冲,变参函数

一、I/O 库函数与系统调用 在Linux 中有很多关于IO(输入输出)的库函数,其大部分都存在 stdio.h 头文件中。例如fopen,fread,fwrite,fseek,fclose , 这些都是针对文件的,这些函数分别依赖于系统调用open,read,write,lseek,close其中fopen的第二个参数”打开模式“的说明如下:r , w ,a ,+, b,t 分别表示 读、写(清空内容)、读写、追加、二进制文件、文本文件 字符串(char * ) ...

2021-10-10 23:44:01 205

原创 Linux C: 文件操作相关的系统调用

一、常见的文件操作相关的系统调用二、st_mode 标志宏定义 值 含义 S_IFMT 0170000 文件类型位域的位掩码 S_IFSOCK 0140000 socket套接字 S_IFLNK 0120000 symbolic link 符号链接 S_IFREG 0100000 常规文件 S_IFBLK 0060000 块设备 S_IFDIR 0040000 目录 S_IFCHR...

2021-10-01 17:13:10 592

转载 转:ext2文件系统详解

第一部分磁盘的物理组成磁盘的基本概念:扇区为最小的物理存储单位,每个扇区为512字节。将扇区组成一个圆,那就是柱面,柱面是分区的最小单位。第一个扇区很重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表,其中MBR占有446字节,分区表占有64字节。分区结构体如下的结构体如下:struct partition{ u8 drive; // 0x80 u8 head; u8 sector; u8 cylinder; u8...

2021-09-26 22:16:36 1331

原创 Linux C: 信号及异常和捕捉函数原理

#define SIGHUP 1 终端挂起或控制进程终止 #define SIGINT 2 终端中断(Ctrl+C 组合键) #define SIGQUIT 3 终端退出(Ctrl+\组合键) #define SIGILL 4 非法指令 #define SIGTRAP 5 debug 使用,有断点指令产生 #define SIGABRT 6 由 abort(3)发出的退出指令 #define SIGIOT 6 IOT 指令 #define

2021-08-19 00:32:05 1317

原创 Linux C: 定时器及时钟服务

一、定时器种类对于 Intel x86有多个定时器: 1) 实时时钟 (RTC): RTC 由一个独立的小型备用电池供电。通常用于提供计算机的时间和日历信息。即使在计算机断电的情况下,RTC 还是可以独立得进行计数。在所有类Unix 系统中,时间变量是一个 long int 型,记录自1970/1/1 起经过的秒数。 2)可编程的间隔定时器(PIT) : PIT是与 CPU分离的一个定时器,以毫秒为刻度。在所有IO设备中,PIT 可以最高优先级 IRQ0 中断。PI...

2021-08-11 21:33:38 600

原创 Linux C :线程操作和线程同步的多线程并发编程

在这之前可以先看看这边文章了解线程概念,信号量,条件变量,死锁等概念https://blog.csdn.net/superSmart_Dong/article/details/116668370 于进程相比,线程的创建和上下文切换更快。一个进程可以有多个线程,而这些线程都可以访问自身进程的所有资源。而进程的切换,则涉及到用户态转内核态的过程,原先的内存资源可能也要从外存中重新换页换回内存里。进程的创建需要重新分配内存和构建页表等相关数据结构,而线程于进程公用同一个内存空间,除了...

2021-07-18 23:22:56 1107 2

原创 Linux C:管道的实现原理,命名管道

目录一、管道二、利用管道将写进程和都进程连接起来三、命名管道一、管道在Unix/Linux 中 命令行 cmd1 | cmd2 #例如 history | grep sqlplus其中 cmd1 是 cmd2 是Linux中独立的程序 , 而 “ | ” 符号在Linux 称之为管道。管道一端用来读另一端用来写。 把前一个进程的输出结果作为后一个进程的输入参数。例如history | grep sqlplus 命令,前...

2021-07-11 01:03:43 1859 1

原创 Linux C:文件描述符、IO重定向、恢复标准输入输出

在Linux中,文件描述符是一个非负整数的数据类型。是FILE结构体中的一个成员属性。每打开或者新建一个文件时,内核都会返回最小的且未被使用的非负整数,即文件描述符。例如,文件描述符 0,1,2,4,5...已经被该进程使用了,那么再打开一个文件返回的文件描述符就是3,再打开一个新文件就是6。如果文件描述符被关闭,那么文件描述符在下一次可能会重新被打开。 FILE结构体大致如下-----------FILE Structure---------char fbuf[SIZE...

2021-07-08 02:43:06 1853 1

原创 Linux C :系统调用-fork,wait,subreaper

fork():创建子进程,并返回进程id。 wait(&status):等待子进程终止。如果成功则会返回僵尸子进程的pid,status的值会是子进程的exitcode。 exit(value):进程正常退出,并返回退出值value prctl(PR_SET_CHILD_SUBREAPER):设置当前进程为subreaper进程。零、示例代码即可能的输出结果#include <stdio.h>#include <unistd...

2021-07-03 00:35:02 654 1

原创 Linux C : 进程管理实验:创建进程、上下文切换

//// Created by Administrator on 2021/6/7.//#ifndef PROCESSMANAGEMENT_TYPE_H#define PROCESSMANAGEMENT_TYPE_H#define NPROC 9#define SSIZE 1024 enum ProcStatus{ FREE=0, READY, SLEEP, ZOMBIE }; typedef str.

2021-06-26 22:52:20 436 3

原创 Linux C: 内嵌汇编语法

学内嵌汇编首先知道编译器的编译流程,内嵌汇编就是嵌套在高级程序语言中的汇编语言。在cpp 文件转成 .s 汇编文件时,只有高级程序语言会转成汇编,把qian

2021-06-05 18:49:05 1515

原创 操作系统原理:文件系统、磁盘调度

文件系统是一种用于持久性存储的系统抽象。硬盘属于持久性存储介质的一种。管理文件系统例如硬盘,需要管理文件块,哪一块属于哪一个文件;需要管理空闲空间和分配策略;为文件提供相应的保护,文件数据的存储需要可靠性持久性。文件的属性包含名称、文件类型(后缀)、位置、大小、读写权,创建者、创建时间,最近修改时间等 ; 文件头 保存了文件的控制信息。 文件描述符是操作系统为每个进程维护维护的一个打开文件表的索引。需要元数据来对文件进行有效的管理,元数据包括文件指针来执行最后一次读写位置,文件...

2021-05-31 00:14:59 4635 11

原创 操作系统原理:进程间通信 IPC

操作系统通信方式可以分为两种方式直接通信和间接通信,对于直接通信进程A将通知消息发送到内核中,让内核将消息发往进程B ,进程必须指明发送方或者接收方来发送/获取消息。对于间接通信进程A将通知消息发送到 内/外存中,由进程B从内/外存获取消息,发送消息方只负责把消息放到指定位置,接收方只负责在对应的位置不断地检查是否有新消息进入,从而触发事件。...

2021-05-23 16:26:21 472 2

原创 操作系统原理:死锁的特征,预防,避免,恢复

一、死锁的资源占用图循环依赖导致资源无法释放而每个线程任务都无法执行完成。其中R表示资源集合,P表示进程/线程 ,每个点表示资源数,箭头表示请求和占用。图 1)P1 依赖于 R1,而R1的剩余资源需要P2释放....用图来表示 P1->R1;R1->P2;P2->R3;P3->R2;R2->{P1,P2}; 这就有一个循环依赖的环; P1->P2,P2->P3 即 P1->P3 。由于P3依赖于P1和P2的其中1个释放...

2021-05-19 23:34:08 1259

原创 操作系统原理:哲学家就餐经典问题

哲学家就相当于线程,叉子就相当于资源。每个线程需要获取特定的两个资源才可以执行“吃”操作。每个叉子只能被特定的两个线程访问,且访问叉子时是互斥的。假设数据结构设计一个信号量数组,5个元素代表5个叉子,每个信号量的初始值(最大值)为1 代表每个叉子只能被1个线程同时访问 ,即互斥。0号线程只能访问0号资源和1号资源,1号线程只能访问1号资源和2号资源......4号线程只能访问4号资源和0号资源。那么有人这么设计,每个哲学家先拿右边的叉子,再拿左手边的叉子。如果无法同时拿起两个叉子就释放掉自己占用的...

2021-05-18 00:59:42 1403

原创 操作系统原理:读写者经典同步问题

读者-写者问题的读写操作限制:写-写互斥,即不能有两个写者同时进行写操作。 读-写互斥,即不能同时有一个线程在读,而另一个线程在写。 读-读允许,即可以有一个或多个读者在读。一、读者优先当读者优先时,写文件的线程需要等读文件的线程执行完才可以执行,如果还有在读的线程则写线程需要等待。理一理读者优先的互斥关系1)当写文件的时候其他线程都不能访问,那么程序怎么知道有没有写线程在执行呢?所以需要一个信号量WriteMutex来记录允许同时写文件的线程数,即初始值(最大值)为1的信号量,同时也

2021-05-17 01:33:38 1293

原创 Linux C: 为什么C都必须有一个main函数

gcc的编译过程分为三步:第一步将 *.c 文件分别通过编译器解析成汇编语言 *.s 。第二步将*.s 文件分别通过汇编器生产目标文件 *.o 。第三步将 c.o文件通过链接器合成一个out 的可执行文件 。当执行.out 或者 .exe 可执行文件时,程序入口通常是main 函数,一个程序中,必须要有一个入口函数来告诉链接器指明代码从哪里开始执行。只不过大部分连接器的默认函数入口都是main函数。当然你也可以告诉链接器,入口函数是不是main...

2021-05-16 15:43:43 837

原创 操作系统原理:临界区、信号量、管程的同步和互斥

临界区:要访问(读写)的共享资源那段代码称之为临界区。这里的代码并不是指C语言等高级语言的代码,而是指机器语言的代码。 互斥:当线程处于临界区并访问共享资源时,其他线程将不会访问相同的共享资源。 锁 :对资源加上一种保护机制,使得外部程序无法进行访问。对应的反向操作称之为解锁。 死锁:两个或以上的进程,进程之间相互等待对方完成特定任务,造成等待的死循环。 饥饿:一个可执行的进程长期无法获取到CPU的使用权。 信号量:有些进程只需要访问共享资源的某个...

2021-05-14 01:59:39 1845

原创 操作系统原理:调度算法和实时调度

CPU 要选择什么进程去执行,什么时候去选择新的进程?同时要求CPU尽量地充分被利用。调度算法评量指标包含:CPU利用率:CPU处于忙状态的百分比,吞吐量:单位时间内完成的进程数量,即带宽周转时间:进程的启动到结束所需的时间,包含所有等待花费的时间,等待时间:在就绪队列中的总时间响应时间:请求发出到请求开始被处理的时间。 即延迟目录一、先来先服务算法 FCFS二、短进程优先的调度算法(SPN /SJF/SRT)三、最高相应比优先(HRRN)四、...

2021-05-11 00:14:59 3336 1

原创 Linux C : GDB调试命令汇总

GDB 是GNU的一个交互式调试工具,可以调试C、C++ 和其他几种语言编写的程序利用 gcc -g [源文件列表] -o [调试文件.x] 来生成调试文件 生成调试文件后 gdb [调试文件.x] 进入调试。命令类型 GDB命令 含义 backtrace(或bt) 查看各级函数的调用和参数 finish 运行到当前函数末尾 frame(或 f) [栈帧号] 查看栈帧情...

2021-05-08 22:06:57 228

原创 操作系统原理:进程与线程、进程生命周期、线程的类型

一、进程定义 进程可以看成程序的执行过程,可以展示在当前时刻的执行状态。它是程序在一个数据集合上的一次动态执行的过程。这个数据集合通常包含存放可执行代码的代码段,存放初始化全局变量和初始化静态局部变量的数据段、用于调试的符号表、未初始化的全局变量和未初始化的静态局部变量的bss段,存放对象数据和临时变量以及数据层次结构的堆栈,系统资源等。程序是静态的,一组有序代码的集合,保存在硬盘中,进程是动态的,是程序的执行过程,执行过程结束,进程也就被结束。进程分为用户态和核心态。当进程需要在内核中进行系统...

2021-05-07 00:08:15 1010

原创 Linux C : Makefile 的编写和示例

make工具是Unix/Linux 的一个编译工具,它按照顺序读取 Makefile 或 makefile ,进行自动地有选择地执行编译链接,只对影响到的修改的文件进行重新编译,不需要对整个工程进行重新编译。而Makefile中些内容的就是它的编译方式。 Makefile 的格式: 目标项 依赖项列表 [target] : file1 file2 file3 ... 规则 <tab> ...

2021-05-06 20:54:18 490

原创 Linux C : 静态链接库和动态链接库

gcc的编译过程分为三步:第一步将文件1.c 分别通过编译器解析成汇编语言第二步将文件1.s文件2.s文件3.s 分别通过汇编器 生成obj目标代码文件第三步将 这些文件通过链接器生成 out 的可执行文件 ,将多个目标代码文件合成一个文件而在第三步中链接方式有两种,一种是静态链接,另一种是动态链接。例如 A文件引用了B文件 ,所谓静态链接,就是将A和B打包进同一个最终可执行文件中。而动态链接,函数库B无需打包进可执行文件中,当A也需要引用到B时,A通过读链接...

2021-05-02 15:10:19 329

原创 操作系统原理:全局页面置换算法、工作集页置换、常驻集页置换、抖动问题

程序在运行过程中具有阶段性,可能刚开始的时候需要访问的内存很多,之后访问的内存可能会很少。如果操作系统给每个程序分配固定的物理页那么就显得不灵活,有没有办法动态地给程序分配页帧呢,在需要访问很多内存的时候多分配点页,不需要访问过多内存的时候少分配点页? 工作集模型:工作程序需要有局部性原理(邻近的代码变量分配在相邻的空间,一条指令的一次执行和下次执行都在很短的时间)。工作集是一个进程当前正在使用的逻辑页面集合。可以用 W(t,Δ) 二元式表示t时刻Δ窗口中的页面组成的...

2021-05-01 14:34:58 3071

原创 操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法

在虚存管理中。当发生缺页中断时,进行页面的换入操作。对于一些不能够被换出的内存,通常采用页面锁定的方式,在页表中添加锁定标志位(lock bit)以区分该页是否是常驻内存。当内存满需要换出时,为了减少缺页频率通常由几种页面置换算法。例如、最优页面置换算法、先进先出算法、最近最久未使用算法、时钟页面置换算法、二次机会法等。目录一、最优页面置换算法二、先进先出算法(FIFO)三、最近最久未使用方法(LRU)四、时钟页面置换算法。(Clock)五、二次机会法六、最不常用法(...

2021-04-29 23:35:50 5465 1

原创 操作系统原理:覆盖技术、交换技术、虚拟内存概要

随着时间的推移,程序不断地更新,规模不断增长,运行的时候可能会发现内存会越来越不够用。所以希望一个容量大,更快,更便宜,数据不易丢失的

2021-04-27 00:06:57 4705 1

原创 Linux C :C的汇编码生成

想知道一段C语言写的代码对应生成的汇编语言代码是什么?1)一些基本的编码过程原理2)需要了解常用的寄存器有哪些,专门来做哪些事3)C语言对应的代码堆栈情况C的汇编代码是一个或多个cpp文件通过编译器处理而成的,而一个编译器通常要通过词法分析,语法分析,语义分析才能够生成汇编代码。以gcc为例,一个cpp文件同通过编译器生成汇编代码(*.s)文件,再通过汇编器生成出机器能够识别的指令代码(*.o)文件,最后同通过链接器,将多个指令文件合成一个大指令文件(*.out) 供机器去执行。...

2021-04-22 23:14:41 1453

原创 操作系统原理 : 非连续的内存分配,分段,页表

非连续的内存分配通常,分段和分页两种方式由于连续的内存分配方式存在碎片问题。非连续的内存分配就可以充分利用内存碎片,主要存在的问题就是开销,如果碎片多寻址效率会比较慢。目录一、分段二、分页机制三、页表四、二级页表和多级页表五、反向页表一、分段1)分段地址空间数据是由段存储,根据应用执行的特点可以将段进行分类:例如文件头,代码段、数据段、符号表、堆、栈等。采用分段管理方式,就是将段进行分类区分管理。2)分段寻址方法分段寻址方法即根据逻辑地址空间映..

2021-04-19 00:57:44 1107

原创 操作系统原理:连续的内存分配

一、由于内存释放导致的内存碎片的问题空闲内存碎片化可能导致很多的内存不会被利用。内存碎片包含两种,一种时内部碎片,一种时外部碎片,所谓的内部碎片,就是分配给应用程序使用但是实际却无法被利用的碎片,而外部碎片是在分配单元里的未使用内存。当程序从硬盘加载到内存中的时候就需要一串比较长的连续内存空间。因此,操作系统需要管理内存空间二、分区的动态分配假如由三块可用的内存空间,1K ,2K ,500B。假如需要分配一个400B内存空间给程序1)内存空间的分配策略——首次适配所谓的首次适配,..

2021-04-18 14:54:16 449

原创 操作系统原理: 计算机的体系结构、内存的层次结构 、地址的生成

操作系统需要完成抽象逻辑地址空间,保护独立地址空间,提供可以访问共享的内存空间,还需要根据程序运行场景虚拟出更多的地址空间这4步。在操作系统中管理内存的方法包括:程序重定位、分段、分页、虚拟内存、按需分页虚拟内存等。一、地址空间 和地址的生成地址空间分为两种,一种是物理地址空间,它的地址空间和内存条代表的主存,硬盘代表的外村是直接映射的关系。第二种是逻辑地址空间,指的是应用程序所能看到的地址空间,它是一维的,由十六位数字表示。所有逻辑地址空间都会落实在一个物理地址空间上,这个...

2021-04-18 14:05:57 533

原创 操作系统原理:中断,异常,系统调用

系统调用(system call):为应用程序请求操作提供服务。可异步和同步,对于返回值,同步会等待值返回再执行下一步,异步发出系统调用请求后,紧接着就会执行下一步操作。异常 (Exception): 应用程序产生的,在执行过程中发生非法的指令,破坏其他程序的处理状态。异常是同步的中断 (interrupt;): 来源于外设,是异步的,外设不清楚什么时候中断会发生。中断时持续的。当发生中断时,硬件和软件需要分别做一些事情对于硬件来讲,发生中断时要设置中断标记,当CPU知道了外设产..

2021-04-17 23:12:57 452

原创 Linux C :Linux 下第一个C程序

我首先用QQ管家下载VMware Workstation中的虚拟机,然后下载Ubuntu64的映像,开启了Linux之路。 搞了些设置后,成功启动Linux ,添加自身Window 和 虚拟机上Linux的共享目录方便传文件。再添加些软链接(快捷方式)来方便访问文件夹。 一般刚开始用VIM 编辑本文,操作起来比较不方便。所以一般现在Window上编辑好,然后将文本复制到Linux中。 首先创建 .c的文件在此下编辑 ,我的时helloworld.c...

2021-04-16 21:54:16 496

原创 操作系统原理:操作系统的启动 中断/异常/系统调用

操作系统的存储刚开始并不是内存里,而是先放在硬盘DIsk上 。由BIOS(基本输入输出系统)提供支持。开机时,BIOS首先检查外设,检查完没问题。再加载相应的软件。Bootloader: 这个程序的作用就是将 操作系统从硬盘加载到内存中。 BIOS 预先占用了系统内存从640kb开始到1M 。内存地址可以表示成 CS:IP 其中CS 是段寄存器,IP是指令寄存器 ,这两个寄存器的组合就可以指定成具体的内存地址。以X86 为例,BIOS启动的开始地址为 CS:IP =0xf000:fff...

2021-04-16 21:23:22 297

CubeIDE代码工程;OLED驱动库,和AHT20驱动库 AHT20检测结果在OLED上显示

led.baud-dance.com 上获取字模和图模。两者变量都要在font.h头文件中声明。字体要在chs_font[size]中要存在。

2023-11-20

23个设计模式总结.xlsx

设计模式 意图 适用的场景 关键实现过程 优点 缺点 备注

2021-04-12

Oracle PL/SQL 帮助文档

在PL/SQL中选中要查询的对象按F1,如果没有帮助文档,再点击download,下载出类似此资源的帮助文档的压缩包。将文件压缩至对应目录点击build,全选setup,就可以查帮助了

2020-07-12

Linux常用命令,shell 编程命令整理

Linux常用命令 (vim,快捷键,权限), shell编程,awk编程 命令整理。shell条件判断流程控制等。快速入门。

2020-06-12

汇编实验.zip

实验包含:ASCII码输出,查询子字符串位置,统计字符串中数字字母个数,电话簿模拟 函数包括: 打印固定字符串、字符串相等比较、用户输入缓冲区和换行,输出十进制数,输出缓冲区 开发平台:Masm for Windows 集成实验环境 2012。

2019-09-20

软件工程SE.7z

包含CMMI 1.1(英文),华北电力大学软件工程教程ppt,Rational Unified Process,测试计划、用户操作手册、需求规格说明书、详细设计说明书、概要设计说明书、可行性研究报告等编写案例、样板、编写提示。

2019-08-04

四种Helper.zip

C#,代码包含SQLHelper(连接数据库,对数据库带参数的增删查改)、HttpHelper(实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理)、JsonManager(将对象转成Json格式,将Json格式转成对象)、WebServiceHelper(访问WebService并获取值)

2019-05-31

c++算法实验.zip

C++算法课程实验代码,编程环境VS2013。压缩包里都是头文件,内容包括:01背包、n后问题、多机调度、公共子序列、归并排序、哈弗曼编码、最佳矩阵连乘。

2019-05-31

编译技术实验(Pascal代码转汇编语言)

编译原理实验,目的把用户输入的代码转化成汇编语言的代码。一个简单的编译器的实现。主要采用算符优先的算法。开发环境VS2013,语言C++ 在 BYYL.cpp中的读取文件路径中添加案例,如在a.txt中写上 program test var a : real ;var b:bool ; begin while A<C and B<D do if A=1 then C:=C+1 else while A<=D do A:=A*2; B := A+C+D+(-2) end

2018-01-25

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

TA关注的人

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