自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sunnylunch-blog

介绍c/c++基础知识,介绍一些项目。

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++实现五子棋游戏

三子棋、五子棋之类的游戏,非常简单,对于初学者来说是一个不错的练手的小项目,以前用C语言写过三子棋游戏。最近在看C++,所以就想到在三子棋的基础上利用C++语言实现五子棋游戏。主要功能: 有3个模式:0表示退出、1表示电脑vs玩家、2表示玩家vs玩家。 当一局完成之后选择’y’则又会进入选择模式。 源代码(VS2013编译器下写的):#include<iostream>#include<st

2017-01-23 11:45:14 33294 9

原创 文件描述符

一、什么是文件描述符? 在linux下一切皆文件,文件描述符是内核为了高效的管理已经被打开的文件所创建的索引,它是一个非负整数,用于指代被打开的文件,所有执行I/O操作的系统调用都是通过文件描述符完成的。 在linux中,进程是通过文件描述符(file descriptors 简称fd)来访问文件的,文件描述符实际上是一个整数。在程序刚启动的时候,默认有三个文件描述符,分别是:0

2017-01-18 22:42:18 2875

原创 系统调用与库函数调用

一、linux结构图简要分析 典型的linux结构如图: 操作系统与内核基本上是相同的,只不过操作系统在内核的基础上还有一些延伸,包括了提供基础服务的组件。操作系统对下通过驱动程序管理硬件。对上的话则暴露出来一些接口,供上层调用,这些接口就叫做系统调用。shell是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机交互界面。库函数是在系统调用的基础上

2017-01-17 21:15:43 5392 7

原创 linux进程的状态

一、进程的状态 进程描述符(task_struct)中的state变量描述进程的当前状态。常见的状态如下: 1、TASK_RUNNING(运行状态):表示进程是可执行的,它正在执行,或者在运行队列中等待执行。 2、TASK_INTERRUPTIBLE(可中断,也就是睡眠状态):进程正在睡眠(也就是进程被阻塞)等待某些条件满足后才运行。 3、TASK_UNINTERRUPTIBLE(不可中断,

2017-01-16 21:38:54 2015 1

原创 进程调度算法

1、先来先服务调度算法(FCFS) 先来先服务调度算法(FCFS)调度算法是一种最简单的调度算法。在进程调度中采用先来先服务算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使它能够运行。该进程一直运行到完成或发生某件事而阻塞后才放弃处理机。2、短进程优先调度算法(SPN) 短进程优先算法(SPF),是指对短进程优先调度的算法。短进程优先调度算法是从就

2017-01-16 20:22:04 1107

原创 task_struct(进程描述符)

一、什么是进程?什么是PCB??? 进程是一个正在执行的程序。 进程是程序的一个实例。 进程能分配处理器并由处理器执行的实体。 如果从内核的角度看的话:进程是分配系统资源的单位。当一个程序被加载到内存之后并为他分配一个PCB(进程控制块),这时候就称为进程了。在linux中PCB就是一个名字叫做task_struct的结构体,我们叫他”进程描述符”。它里面有进

2017-01-11 20:32:27 2734

原创 mm_struct简介

一、什么是mm_struct??? 内存描述符也用一个结构体表示,这个结构体的名字叫做mm_struct(内存描述符),linux就是通过mm_struct这个结构体来实现内存管理。 一个进程的虚拟地址空间主要由两个数据结构来描述,一个是最高层次的mm_struct,一个是较高层次的vm_ares_struct。最高层次的mm_struct结构描述了一个进程的整个虚拟地址空间。较高层次的结

2017-01-11 17:57:00 3965 2

原创 linux常用指令(2)

1、chattr&lsattr 1.1、chattr:改变文件属性 说明: chattr命令的作用很大,和chmod相比,chmod知识改变文件的读写、执行权限,更底层的属性控制由chattr来改变的。通过chattr命令修改属性能够提高系统的安全性,但是他并不适合所有的目录。chattr不能保护:/、/dev、/tmp、/var目录。命令:chattr [-RV] [-v versi

2017-01-09 15:40:53 1010

原创 GDB调试指南(初级)

GDB是Linux环境下的代码调试工具。如果我们在linux下面写代码的话,可以用GDB对程序进行调试。源代码经过编译之后生成的程序程序有两种:relese版本和debug版本。要想对程序进行调试的话就要在debug版本下面进行调试,因为debug版本下面加入了许多调试信息。在linux下面编写出来的代码是relese版本的,所以我们要想对程序进行调试的话,就必须在生成源代码的时候加上-g选项。

2017-01-07 12:41:15 5999

原创 linux下查询命令

1、which: which命令是在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。也就是说,使用which命令,就可以看到系统命令是否存在,以及执行的到底是哪一个位置的命令。命令格式:which 可执行文件名称 which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。2、whereis: whereis命令用于程序名

2017-01-01 23:02:28 6408 3

原创 linux下查看文件内容工具

在linux下面我们想要查看一个文件里面的内容,除了用编辑器把文件打开查看外,linux还提供了几条命令,可以不用打开文件就能把文件的内容输出到显示屏上进行查看。1、cat cat命令主要用来查看文件内容,创建文件,文件合并,追加文件等。 1.1、查看文件 命令:cat 文件名 说明:这条命令会把文件的内容全部 输出到显示屏上。 cat -n 文件名:查看文件内容,并对每一行都进行编号。

2017-01-01 22:49:47 7027 3

原创 make&makefile——(1)

在linux下,make有两个作用。第一个作用,可以通过命令行来编译和安装很多工具。第二个作用,可以用make来管理大型复杂项目编译问题。下面我们主要来介绍用make来管理大型复杂项目的编译问题。 make像命令行参数一样接受目标。这些目标通常放在Makefile(或makefile)来命名的特殊文件中,同时这个文件也包含与目标相对应的操作。当make命令第一次执行时,它扫描Makefil

2017-01-01 20:55:45 4797

C&&C++知识体系结构图

C,C++知识体系结构图

2016-09-09

空空如也

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

TA关注的人

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