SpartacusIn21

专注:c++,python,d3d,设计模式,人工智能,并行计算

2017年7月15日 #

设计模式之观察者(OBSERVER)模式

摘要: 定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 Observer模式描述了如何建立这种关系。这一模式中的关键对象是目标(subject)和观察者(observer)。一个目标可以有任意数目的依赖它的观察者。一旦目标的状态发生改变,所有的 阅读全文

posted @ 2017-07-15 15:30 SpartacusIn21 阅读(808) 评论(0) 推荐(0) 编辑

2017年7月13日 #

设置TrackMouseEvent捕获WM_MOUSEHOVER和WM_MOUSELEAVE消息

摘要: WM_MOUSEHOVER(非客户区消息为WM_NCMOUSEHOVER)消息表示鼠标在客户区悬浮消息,WM_MOUSELEAVE(非客户区消息为WM_NCMOUSELEAVE)为鼠标离开客户区消息,这四个消息都需要提前调用TrackMouseEvent函数设置捕获。 Windows API函数定义 阅读全文

posted @ 2017-07-13 16:00 SpartacusIn21 阅读(1621) 评论(0) 推荐(0) 编辑

2017年7月6日 #

jsoncpp动态解析节点类型

摘要: 在互联网无处不在的今天,JSON作为轻量级数据存储格式,被广泛应用到互联网数据传输中。众所周知,JSON由键/值对、对象、数组组成,其中键/值对的值包括以下几种类型: 如果在发送方和接收方间约定JSON数据格式中数据类型固定不变,那么不存在需要动态去判断节点数据类型并解析的问题。但是在实际应用过程中 阅读全文

posted @ 2017-07-06 16:29 SpartacusIn21 阅读(2798) 评论(0) 推荐(0) 编辑

2017年6月15日 #

C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast

摘要: 1. c强制转换与c++强制转换 c语言强制类型转换主要用于基础的数据类型间的转换,语法为: c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,主要运用于继承关系类间的强制转化, 阅读全文

posted @ 2017-06-15 22:48 SpartacusIn21 阅读(109250) 评论(3) 推荐(21) 编辑

2017年6月14日 #

visual studio高效率插件及快捷键

摘要: visual studio从2010开始支持插件安装(工具->扩展管理器),这里推荐几个插件,可以极大的提升开发效率: Visual Assist X(VAssistX) VAssistX是wholetomato公司(https://www.wholetomato.com/)开发的插件,目的是用来提 阅读全文

posted @ 2017-06-14 10:29 SpartacusIn21 阅读(2437) 评论(0) 推荐(0) 编辑

2017年6月12日 #

vim常用命令

摘要: 一张图搞定vim命令 阅读全文

posted @ 2017-06-12 16:45 SpartacusIn21 阅读(508) 评论(0) 推荐(0) 编辑

2017年5月23日 #

一种多线程变量区域锁的实现方法

摘要: 多线程变量区域锁类定义 类定义中基于boost库unique_lock和shared_lock定义了读锁ReadLock和写锁WriteLock,将读锁和写锁换成关键区(CRITICAL_SECTION)等也是一样的效果。 变量区域锁主要是基于以下两点:一、变量的作用范围就是锁定的区域范围;二、C+ 阅读全文

posted @ 2017-05-23 10:35 SpartacusIn21 阅读(754) 评论(0) 推荐(0) 编辑

2017年5月19日 #

使用curl,libcurl访问Https

摘要: 编译curl,libcurl 下载curl源码(git clone https://github.com/curl/curl),在目录curl\winbuild\BUILD.WINDOWS.txt文件中,详细介绍了使用nmake编译windows下curl及libcurl库的相关命令,摘录如下: 由 阅读全文

posted @ 2017-05-19 23:18 SpartacusIn21 阅读(24651) 评论(1) 推荐(0) 编辑

2017年5月17日 #

Interlocked原子函数陷阱

摘要: 一、问题 windows api函数中提供了InterlockedExchange、InterlockedDecrement, InterlockedIncrement, ExInterlockedAddLargeInteger, ExInterlockedAddUlong等原子访问函数,在众多线程 阅读全文

posted @ 2017-05-17 21:28 SpartacusIn21 阅读(1564) 评论(0) 推荐(0) 编辑

windows调试工具列表

摘要: 摘自windbg帮助文档(windbg中输入.hh): (安装WinDbg后这些工具都会安装在目录C:\Program Files (x86)\Debugging Tools for Windows (x86)下) 使用windbg如果想调试内核文件,需要加入windows的在线pdb数据库路径SR 阅读全文

posted @ 2017-05-17 14:26 SpartacusIn21 阅读(1021) 评论(0) 推荐(0) 编辑

2017年5月5日 #

visual studio问题集合

摘要: 1.当前断点不会命中,还没有为该文档加载任何符号 打开visual 2010 工具->选项->调试->符号: 一、手动加载 点击 加载所有符号 即可。二、自动加载 点击“指定排除的模块”,去掉被排除的模块;或者点击“指定模块”,选择要自动加载的模块的符号文件。 阅读全文

posted @ 2017-05-05 16:15 SpartacusIn21 阅读(179) 评论(0) 推荐(0) 编辑

2017年5月4日 #

zlib报“LNK2001:无法解析的外部符号”错误

摘要: 这个错误一般是由使用导出dll时未加载对应的lib文件导致的,但是工程在正确配置了lib文件的情况下仍然报这个错误,经查,是由于dll导入工程和dll导出工程的函数调用约定不一致导致的。 一、函数调用约定 首先,我们由函数的调用约定说起,microsoft的vc默认的是__cdecl方式,而wind 阅读全文

posted @ 2017-05-04 21:19 SpartacusIn21 阅读(1845) 评论(0) 推荐(0) 编辑

2017年4月28日 #

atlwin中不停发WM_PAINT消息原因分析

摘要: 这里我们基于atlwin定义的窗口类SampleWindow继承自CWindowImpl(定义见atlwin.h),并注册了WM_PAINT消息处理函数OnPaint,注意,我们在OnPaint函数中并没有直接处理WM_PAINT消息,而是直接返回了FALSE。 参考MESSAGE_HANDLER的 阅读全文

posted @ 2017-04-28 16:34 SpartacusIn21 阅读(613) 评论(0) 推荐(0) 编辑

2017年4月20日 #

Chromium模块和进程模型

摘要: i. Chromium基本模块 Chromium各模块层级图a) Chromium主要包括如下模块: WebKit: Safari和Chromium,以及任何其他基于WebKit内核的浏览器所共享的渲染引擎; Glue: 用于将WebKit数据类型转换为Chromium数据类型; Renderer 阅读全文

posted @ 2017-04-20 11:57 SpartacusIn21 阅读(1245) 评论(0) 推荐(0) 编辑

导航