12 2017 档案
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include 4 #include 5 #include //标准参数 6 7 int a[10][3] = { 0 }; 8 int buzou = 1;//表示步骤数 9 10 //初始化 11 void init(int a[10][3],int num) 12 { 13...
阅读全文
摘要://可变参数实现多个参数求和 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include 4 #include 5 #include //标准参数 6 7 int add(int num, ...)//...代表可变参数 8 { 9 int res = 0;//结果 10 va_list argp;//存储参数开始的地址 ...
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 void title(void *p) 10 { 11 char title[100]; 12 int i = 0; 13 14 while (1) ...
阅读全文
摘要:1 #include 2 3 //dll不需要main函数 4 //导出接口 5 _declspec(dllexport) void go() 6 { 7 MessageBoxA(0, "注入测试", "注入成功", 0); 8 }
阅读全文
摘要://预编译,linker链接,Windows模式 #pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"");
阅读全文
摘要:1 void main() 2 { 3 //创建一个窗口编号变量,寻找QQ的窗口 4 HWND win = FindWindowA("TXGuiFoundation", "QQ");//类名,标题 5 if (win == NULL) 6 { 7 printf("没找到QQ窗口\n"); 8 } 9 /*ShowW...
阅读全文
摘要:各种字符所占字节 sprintf函数 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <time.h> 6 #include <Windows.h> 7 8 9 voi
阅读全文
摘要:+7的原码:0000 0111 -7的原码:1000 0111 第一位0代表正数,1代表负数,第一位为符号位 +7的反码:0000 0111 正数反码和原码一样 -7的反码:1111 1000 符号位不变,其他取反 +7的补码:0000 0111 正数补码和原码一样 -7的补码:1111 1001
阅读全文
摘要:int num = 012;0表示的是八进制 int num2 = 0x12;表示的是十六进制 二进制转化成八进制,从右向左,每3个一组,不足3位左补0,转换成八进制 八进制转换为二进制,用3位二进制数代替每一位八进制数 以下代码实现了,十进制到二进制,二进制到十进制,二进制到八进制 1 #incl
阅读全文
摘要:间接修改const常量 1 void main() 2 { 3 const int a = 99; 4 printf("%d\n", a); 5 6 int *p = &a; 7 *p = 100; 8 printf("%d", a); 9 10 getchar(); 11 } View Code
阅读全文
摘要:arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/s
阅读全文
摘要:Linux 必备指令摘要一般用户指令/bin /usr/bin 系统管理者指令/sbin /usr/sbin
阅读全文
摘要:CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr.msc:证书管理实用程序 4. charmap:启动字符映射表 5. chkdsk.exe:Chkdsk磁盘检查
阅读全文
摘要:编译器先明确是什么类型,然后明确变量名,变量表管理所有的变量,不在变量表内部的变量不能引用.每个变量对应一整块内存 a+1所计算出来的值在寄存器中,只有变量可以被赋值,变量必须在内存里面 c语言内嵌汇编 1 void main() 2 { 3 int a; 4 printf("%p", &a); 5
阅读全文
摘要:磁盘访问时间主要由三部分组成: 寻道时间 旋转延迟 传输时间 磁盘调度算法 FCFS(先来先服务) SSTF(最短寻到时间优先) SCAN(扫描) C-SCAN(循环扫描) 这种方式容易产生饥饿状态
阅读全文
摘要:如果是图表作文: This thought-provoking cartoon ,I believe,will draw every reader's attention by its starting originality. As is depicted in the picture,.....
阅读全文
摘要:文件概念 文件示存储在某种介质上的并且具有文件名的一组相关信息的集合 文件属性 文件操作 存取方法: 目录结构 文件保护 文件系统实现:
阅读全文
摘要:非固定分区的内存管理 虚拟内存的根本就是将内存扩展到磁盘上,将磁盘也当做内存的一部分.虚拟地址就是用户每次看到的地址,这个地址只是一个抽象,它需要有内存单元进行翻译,变成物理内存地址才能使用.由于这个翻译是在程序执行过程中发生,因此成为动态地址翻译.有了动态地址翻译,一个虚拟地址仅在被访问的时候才需
阅读全文
摘要:内存管理模块提纲 基本概念和背景 连续区内存分配 页式内存管理 页表结构 段式内存管理 实例:Intel i386 重温一些计算机组成的知识点 程序必须装入内存后,才能被CPU解释,执行 CPU能够直接访问的,只有主存,寄存器 访问寄存器需要1个CPU时钟周期,很快 访问主存需要许多时钟周期,或者,
阅读全文
摘要:银行家算法,顾名思义,是仿照银行发放贷款采取的控制方式而设计的一种死锁避免算法. 该算法的策略是实现动态避免死锁.要明白此算法,就要明白银行的贷款策略. 银行的目的是让利润最大化,风险最低,为了控制风险,在放贷之前,要先审核客户的信用额度.客户对资金的使用是按阶段的,并不是一定第一次就得到全部贷款,
阅读全文
摘要:死锁概念 死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进 Example: 系统有两个磁带设备 进程P1和P2各占有一个磁带设备并且实际需要两个磁带 一个生动的例子: 死锁的避免 死锁的避免概述 该方法运行进程动态地申请资源,系统在进行资源分配之前,先计
阅读全文
摘要:生产者消费者问题 读者-写者问题 哲学家进餐问题 哲学家就餐问题讨论 为防止死锁发生可采取的措施 最多允许4个哲学家同时坐在桌子周围 仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子 给所有哲学家编号,基数号的哲学家必须首先拿左边的筷子,偶数号的哲学 家则反之 为了避免死锁,把哲学家分为三种状态
阅读全文
摘要:信号量 信号量S是个整型变量 信号量S只允许两个标准操作 wait()和signal() 或者,发明人称之为P(通过)操作,V(释放)操作 wait()和signal()是原子操作 (不能被打断) wait操作: signal操作 value<=0 则说明之前有进程在等待 进程的临界区必须符合如下框
阅读全文
摘要:生产者-消费者问题的一种解法 原子操作(Atomic operation)要求该操作完整地一次性完成,不允许中间被打断 Race Condition :The situation where several processes access and manipulate shared data co
阅读全文
摘要:总论:所有的程序都是CPU和I/O等待交替执行 CPU调度器的操作时机 调用CPU调度器的时机,通常发生在 某一进程从执行状态转化为等待状态 某一进程从执行状态转化为就绪状态 某一进程从等待状态转为就绪状态 某一进程终止 注意,调度时机不限于此4种情况,有非抢占式调度,和抢占式调度 CPU调度器 决
阅读全文
摘要:用户级线程: 线程管理(创建,资源申请,调度,通信等)由user-level library一手包办,不靠OS内核 内核级: 线程管理由操作系统内核的kernel-level threads实现 one to one 模型 这种模型将每个user-level thread映射至一个kernel th
阅读全文
摘要:进程创建 子进程的资源 执行代码的执行顺序 linux c代码: 1 #include <stdio.h> 2 #include <sys/types.h> 3 4 int main(void) 5 { 6 pid_t pid; 7 pid = fork();//创建子进程,返回的是创建的子进程的编
阅读全文
摘要:最理想的多任务模型 进程的数据结构:PCB 进程状态迁移示例 PCB示例 进程调度队列,动态反应操作系统全貌 Job queue 等待进入计算机系统的待处理任务 Ready queue 驻留内存,准备就绪,等待CPU Device queue 等待I/O设备的进程 进程一经创建,即在这些队列之间迁移
阅读全文
摘要:操作系统服务 用户接口 命令行接口 图形用户接口 批处理 程序执行 I/0操作 文件系统操作 通信 出错检测 资源分配 记账:跟踪和记录用户对资源的利用 系统调用 提供了进程与操作系统之家的接口 这些调用通常以汇编语言指令的形式提供 有些语言(如C,C++)已经取代了汇编语言 向操作系统传递参数通常
阅读全文
摘要:操作系统是什么 计算机系统概述 操作系统类型 操作系统是程序,充当计算机硬件和计算机用户的中介 组成: 软件: 应用软件 系统软件 硬件: 输入/输出设备 存储器 处理器 从服务用户的观点--操作系统是用户与计算机硬件之间的接口 内核 Kernel:the one program running a
阅读全文
摘要:操作系统是计算机 我们给裸机上穿上衣服 那么操作系统管理什么呢?
阅读全文
摘要:首先需要添加头文件#include <QPalette> 然后接下来这样操作: 控件.setAutoFillBackground(true); //这里的控件就是你要设置背景颜色的控件 QPalette p = w.palette(); p.setColor(QPalette::Window,"颜色
阅读全文
摘要:多的不说,直接上代码: 里面涉及的字典文件在这:这是传送门,下载下来以后把该文件放在工程目录下即可 1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <string.h>
阅读全文
摘要:学习了文件操作,那么先做一个自制的IDE吧,就是简单的读取,修改,保存文件,使用QT语言,附上github的代码:QT基本文件操作实现中文编程 截图: 运行效果
阅读全文
摘要:第一章 1.嵌入式系统 “以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗要求严格的专用计算机系统” 根据应用的要求,沿着“体积小,低功耗,高可靠”方向发展,对运算速度,存储容量没有统一要求。三要素:嵌入,专用,计算机 2.嵌入式系统有哪些组成部分 一般
阅读全文
摘要:总论 1.fopen r以只读方式打开文件,该文件必须存在 r+以可读写方式打开文件,文件必须存在 rb+读写打开一个二进制文件,允许读写数据,文件必须存在 rw+读写打开一个文本文件,允许读和写 w 打开只写文件,若文件存在则文件长度清零,即该文件内容会消失,若文件不存在则建立该文件 w+打开可读
阅读全文
摘要:一.关键一点 最关键的一点:结构体在内存中是一个矩形,而不是一个不规则形状 二.编程实战 1 #include <stdlib.h> 2 #include <stdio.h> 3 4 struct A 5 { 6 int a; 7 char b; 8 }; 9 10 int main() 11 {
阅读全文
摘要:1.每个线程都有自己专属的栈(stack),先进后出(LIFO) 2.栈的最大尺寸固定,超出则引起栈溢出 3.变量离开作用范围后,栈上的数据会自动释放 4.堆上内存必须手动释放(C/C++)除非语言执行环境支持GC 5.栈还是堆? --明确知道数据占用多少内存 --数据很小 --大量内存 --不确定
阅读全文
摘要:学习了c语言的指针,那么指针能做什么呢,首先,他可以写外挂 首先我们来编写一个dll,挂载到植物大战僵尸上,记住是dll,因为如果你创建一个应用程序,该应用程序是不能操作其他程序的地址的. 第一步,打开CE和植物大战僵尸,用CE找到阳光的地址 好,我们找到了地址,接下来开始编程吧,看看指针的魅力 好
阅读全文
摘要:启动VMware虚拟机下的Linux操作系统。打开VMware虚拟机之后点击“开启此虚拟机”。 启动VMware虚拟机下的Linux操作系统。打开VMware虚拟机之后点击“开启此虚拟机”。 2 等待Linux操作系统正常启动完毕,然后点击VMware菜单栏“虚拟机”下的“安装VMware Tool
阅读全文

浙公网安备 33010602011771号