自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 收藏
  • 关注

原创 推荐一个 推理屋 网站

分享一个推理小说的分享平台,推理爱好者的聚集地 推理屋网站http://www.tuiliwu.cn/

2018-06-13 09:04:21 7476

原创 一种基于机器学习的五子棋实现

远望研发部 周晨威,蔡斌松概述早些年,IBM研发的深蓝机器人战胜了当时的国际象棋冠军,引发了人们对人工智能的关注, 去年,谷歌的alphaGo战胜了李世石九段,又引发了一场人工智能和机器学习的热潮。随着新算法的和算法变种的出现,人工智能特别是机器学习领域又被推向了计算机行业的风口浪尖。如今人工智能已经深入到生活的各个方面,比如手机上的siri,电脑上的小娜,离我们最近的可能是各种推送的

2017-01-25 10:53:43 18677 25

原创 行为模式 (三)

21、mediator    ​中介者使用一个中间类来降低各个类之间的耦合性为了能方便调用到其他类,我们往往在各个类里保存了其他类的指针,造成耦合性很大,各个类无法独立出来,通过构建一个mediator类,把各个类的指针保存在mediator类里,其他类只需要保存mediator类的指针优缺点:降低了各个类之间的耦合性集中控制可以减少子类生成

2015-04-03 12:02:27 604

原创 行为模式(二)

17、memento 备忘录获取一个对象内部状态并保存,便于恢复该状态原发器ori:创建备忘录类,memento->setStat(),getStat();备忘录memento:保存原发器的状态,并不允许其他人访问,一般方法私有,但设置原发器类作为友元负责人care:负责保存备忘录的指针 调用ori->createMemenyo()优缺点:简化原发器

2015-04-02 13:53:03 451

原创 行为模式(一)

13、chain of responsibility    职责链一条处理链路,处理完请求后将请求扔给后继者handle(){    dosomething();    onhandl();}优缺点:降低耦合度不保证被接受用例:MFC/过滤驱动14、command  命令模式向一个命

2015-04-01 16:15:43 462

原创 结构型模式(二)

10、facade  外观将一系列子系统封装成一个调用接口     ​    编译(){    ​    ​    预处理()    ​    ​   语法分析()    ​    ​    ​....    ​    ​​} 类似builder模式,builder模式最后会用一个get()接口获取一个最终产品优缺点:

2015-03-31 14:11:29 455

原创 结构型模式(一)

6、adapter  适配器别名wrapper ,将一些接口不统一的类包装成统一的接口    target req()     adaptee other_req()         |_______________|                     |           adapter req()->other_req()ta

2015-03-30 13:40:25 718

原创 23种设计模式 (一) 创建型模式

===== 创建型模式 =====1、abstract factory 抽象工厂抽象工厂模式给几个类似的对象建立一个公共的抽象基类,创建对象的时候可以通过使用基类接口。            calss  dog  running()    阿拉斯加 running()  |  哈士奇 running()优缺点:分离的具体的类易于交换产品

2015-03-27 15:20:19 480

原创 CCTMXTiledMap 说明

CCTMXTiledMap 可以导入由T

2014-06-19 14:12:59 789

原创 单机扑克游戏设计

​    ​这几天想进一步熟悉下cocos2dx,所以就做了一个地方性的单机扑克游戏,本来想直接download源码学习的,但发现貌似网上没有,或者是我找不到。    ​    ​边做边改,开始也没想到具体框架,就一个大框架,现在完成后,再整理一下,发现基本模型没有偏差,所以框架性的bug几乎没有,只有一些逻辑性的bug。    ​    ​整理一下框架,首先,要有一个独立的卡牌操作类, 

2014-05-30 17:18:04 1212

原创 windows下cocos2dx生成安卓APK包

为了编译出apk包,从网上看了很多教程,也走了不少弯路,记录一下,方便以后再配置。C++的,其他语言请自行研究。(这里所有包都是下载32位)1 首先去安卓官网 http://developer.android.com/sdk/index.html  下载 ADT包,里面包含安卓SDK和eclipse,并且已经配置好了,解压。2 去java官网http://www.java.com/

2014-05-09 23:18:32 972

原创 关于QT需要注意的几个问题

最近学习了QT,有几个遇到的问题记录下:环境是windows+VS2008,用QTcreater配置:选工具-选项-文本编辑器-行为-文件编码-默认编码,选择 System,这样输入的文字不会乱码选工具-选项-构建和运行-QT Version-添加,把QT安装目录里的X:\QT\4.X.X\bin\qmake.exe , 然后点击应用选工具-选项-构建和运行-套

2014-04-02 15:53:31 770

原创 使用autoconf对项目自动生成makefile

一般情况下,我会手动编写Makefile文件,但是如果搞一个开源项目,那么手动写就显得很弱了,而且兼容性不知道怎么样。就查了下如何跟开源项目一样,使用./configure     make    make install 的标准方式安装软件1:首先安装autoconf, ubuntu 使用sudo apt-get install autoconf2:进入项目目录,使用autosc

2014-01-21 16:22:15 862

原创 使用BT5对WPS/WPS2的破解

准备:1、BT5是一个基于ubuntu的linux发行版,他预置了很多网络安全软件,可以去他官网下载。2、把BT5刻录在U盘或者光盘下,在带有无线网卡的电脑上运行起来,可以不安装BT5,进入命令行模式。3、会基础的使用linux系统 一、穷举密码破解 原理:无线路也是通过协议来验证接入设备的密码,来判断是否能入网,首先通过4个握手包来验证用户发送的密码,如果验证通过,就

2013-10-15 22:46:09 2190

原创 linux使用git对github项目管理

一:配置1:注册一个github帐号,记下用户名和邮箱2:安装git,官网被墙了,ubuntu可以使用sudo apt-get install git git-core安装git3:配置全局变量git config --global user.name = "你的用户名"git config --global user.email = "你的邮箱"4:创建传输公钥

2013-10-08 14:44:06 872

原创 Linux中断

X86 CPU硬件对中断的支持:        中断分为外部硬件中断、软件INT n的陷进,还有一种称为异常,比如除以0.        中断发生时必须通过中断向量表IDT,指针存放在寄存器IDTR里,intel称为“门”gate,有四种门,任务门、中断门、陷阱们、调用门。所谓的门跟之前的段差不多,就是8字节64位的空间。任务门:        有P标志(1在内存中,0不在),

2013-09-13 10:07:19 745

原创 Linux越界访问/用户栈扩展/页面周转

一、越界访问        当页式转换过程中出现无法访问物理内存单元时,CPU会产生缺页中断,几种情况:1、响应的目录项目PGD或者页表PT空,就是尚未建立起映射或者映射已经撤销(例如,mmap映射后ummap,仍然访问之前的地址)2、物理页面不在内存中,已被交换到磁盘上3、权限不符,例如企图写一个只读的页面        这里假定已经到达处理服务程序的主体do_page_

2013-09-10 09:03:05 1448

原创 免费QQ群机器人

这个是基于 MingQQ搞的,他的博客http://blog.csdn.net/zym_123456/article/details/9291457#comments感谢他的开源精神,希望开源精神发扬光大。 QQ群机器人的下载地址:www.dagouge.com 1、支持群签到、积分查询 2、支持自定义回复3、支持多群同时使用4、支持管理员密码5、最小化无打扰6

2013-09-06 16:13:50 6974 1

原创 GCC 内嵌汇编

看一个简单的例子:/* *x += i */void add(int i, int* x){__asm__( "addl %1, (%%eax)\n" : :"a"(x),"q"(i) );}# i=0x8(%ebp), &x=0xc(%ebp) 0x080483c7 <+3>: mov...

2013-09-05 13:27:14 723

原创 C++运行原理的汇编代码分析 二

SEH: Structured Exception Handler 结构化异常处理。 是windows的一个__try{}__except(){}异常处理机制。可以捕获系统异常,也可以用RaiseException()函数来抛出自定义异常TEB:Thread Environment Block 线程环境块。 是一个用来记录线程运行状态的结构体,前4字节是SEH链表的起始地址,是一个栈地址,

2013-08-30 15:20:14 1081

原创 C++运行原理的汇编代码分析 一

ILT:Incremental Link Table 增量链接表,(函数地址跳转表) @ILT+100 相当于跳转到弟21个函数 JMP 0xXXXXXXXX (5字节在32位机器)跳转到某个具体函数地址, 所有的call会先到表里,再JMP到具体函数地址1、普通成员函数    int add_1(int a, int b){return a+b;};00361810  pus

2013-08-28 14:38:57 1070

原创 linux获取当前进程的CPU使用率

百度留win下有好多例子,但是linux下的几乎没有。查看了下win下获取的原理,就是一段时间里,系统态运行时间加上用户态运行时间,除以这段时间,就所CPU使用率。仿照写了以下代码先所获取当前时间的函数,用于计算时间流逝,精确到纳秒。int64_t get_ticket(){ struct timespec ts; int64_t ustime = 0; clock_get

2013-08-26 16:55:27 3083 1

原创 linux内存管理基本框架

为了兼容64位CPU,linux使用三层结构,分为页面目录PGD,中间目录PMD, 页表PT(其实是3个数组),页表中的项成为PTE实际在i386架构上,因为硬件只支持2层,所以PMD被忽略了与PGD一样,所以,就是说经过PMD映射后,还是原来PGD的值。        内核为MMU设置好PGD、PT,然后根据线性地址中的相应段作为下标找到最后的PTE。         linux

2013-08-22 12:40:15 1050

原创 i386 段式管理与页式管理

一、寻址CPU有SS,DS,GS,FS,CS,SS等段寄存器,段寄存器在实模式下保存段地址,在保护模式下存储这个地址段描述结构的地址。当一条访问内存的指令发出一个逻辑地址请求时,CPU使用如下步骤转成实际地址。1、根据指令性质确定使用哪个段寄存器,如取数据指令就使用DS,跳转到某个地址使用CS等,这点与实模式相同2、根据段寄存器内容找到“地址段描述结构”3、从地址段描述结构中获

2013-08-20 16:18:59 856

空空如也

空空如也

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

TA关注的人

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