6.S081-lab1 sleep这个简单,随便写一下 1234567891011#include "kernel/types.h"#include "user/user.h"int main(int argc, char** argv) { if(argc != 2) { fprintf(2, "invalid args!&q 2022-06-07
设计模式 引言 设计模式什么是设计模式设计模式四要素: 模式名称:用简单次描述模式的问题,解决方案和效果,设计模式允许较高抽象层次上进行设计。 问题:描述应该何时使用,解释了设计问题和问题存在的前因后果 解决方案:描述设计的组成成分,相互关系,各自职责和协作方式 效果:包括对系统的灵活性,扩充性和可移植性 设计模式的编目 Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,从而无 2022-05-20 设计模式
cmake practice CMake Practice初识CMakeCMake特点 开放源代码 跨平台 能够管理大型项目 简化编译构建过程好编译过程,CMake工具链简单,cmake + make 高效率 可扩展,可以为CMake编写特定功能的模块,扩充其功能 初试CMakeCMake基本语法规则 变量使用${}方法取值,但IF控制语句中直接使用变量名 指令(参数1 参数2 ….) 指令大小写无关,但参数和变量是大 2022-05-18 CMake
Introducing CMake Introducing CMakeChapter 1, First Steps with CMake简单介绍相比较于其它一些自动构建代码的工具,CMake有以下优势: 持续聚焦和支持现代编译器和工具链 很好的跨平台支持,包括Windows,Linux,macOS以及Cygwin 适配主流IDE,Visual Studio,XCode,Eclipse CDT,Clion等 CMake工作的抽象 2022-05-18 Modern CMake for C++ CMake
Git分支 Git分支Git分支功能可谓是Git的“必杀技特性”, 因为很多其它版本控制系统中,分支功能很慢,因为需要完全创建一个源代码目录的副本。Git处理分的操作非常轻量,切换也非常快,Git鼓励在工作流程中频繁使用分支与合并,理解和精通分支特性,会大大提高开发效率。 分支简介如前文所说,Git保存的是一系列不同时刻的文件快照。而Git的分支,本质上仅仅是至指向提交对象的可变指针 分支创建git br 2022-05-15 Pro Git Git
Git基础 Git基础主要介绍Git的基本使用方法 获取Git仓库两种方法,一个是从现有项目或目录导入所有文件到Git,一个是从服务器克隆一个现有Git仓库 在现有项目中初始化进入项目目录并输入git init,会创建一个.git子目录 克隆现有仓库格式git clone [url],git会克隆该Git仓库服务器上几乎所有的数据,包括每一个文件,每一个分支每一个版本,而不仅仅是我们可能关心的最新版本。例 2022-05-14 Pro Git Git
Pro Git第一章 Git起步 Git 起步工作后感觉自己Git水平还不够日常开心的使用,因此在cc佬安利下开始看下这本书 关于版本控制版本控制是一种记录一个或若干文件内容变化,以便查阅特定版本修订情况的系统 本地版本控制系统顾名思义,本地管理项目版本的同,大多是采用简单的数据库记录文件的历次更新差异 集中化版本控制系统为了让不同系统上的开发者协同工作,通过一个单一的集中管理的服务器保存所有文件的修订版本,协同工作的成员通过客 2022-05-14 Pro Git Git
为不同指令集生成多个版本的关键代码 为不同指令集生成多个版本的关键代码微处理器制造商不断向指令集中添加新指令,使得某些代码执行的更快,对指令集最重要的补充向量运算 指令集是向后兼容的,向后兼容的指令集顺序如下: 80386: 32位模式 SSE:128位单精度浮点向量 SSE2:128位整数以及双精度浮点向量 SSE3: horizontal add. etc SSSE3: 增加了一些整数向量指令 SSE4.1:更多的向量指令 S 2022-04-12 optimizing software in C++
在嵌入式系统中优化 在嵌入式系统中优化小型嵌入式应用程序中使用的微控制器比标准PC拥有的资源要少很多,时钟频率低100倍甚至1000倍,RAM内存数量甚至少1百万倍,因此在此类系统上应该避免使用大型图形框架、解释器等等 解释性语言在嵌入式系统上会产生极大浪费,因此首选C/C++, 关键驱动程序可能需要汇编语言 通过以下原则,C++只需要比C多一点点的资源 大数组应该在函数中声明,便于函数返回时释放,或者是将相同的数 2022-04-12 optimizing software in C++
测试速度 测试速度测试程序的速度是优化工作的重要组成部分 有许多分析器可以用于查找热点和测量程序的总体性能,但是对于某些大部分时间花费在等待用户输入or磁盘文件读取的程序,分析器很难测量。 热点确定后,可以将热点代码单独提取出来测量性能,通过多次调用关键函数,并将每次运行的时间保存,可以在测试后输出。 函数第一次调用所花费的时间通常要高于随后的时间,因为第一次调用时代码以及数据都还未被缓存。因此,可以这么说 2022-04-12 optimizing software in C++