利用C++11的function和bind简化类创建线程
摘要:问题引出当在类中需要创建线程时,总是因为线程函数需要定义成静态成员函数,但是又需要访问非静态数据成员这种需求,来做若干重复性的繁琐工作。比如我以前就经常定义一个静态成员函数,然后定一个结构体,结构体形式如下所示,将类指针传入到线程函数中以方便访问费非态成员变量。struct THREAD_PARAM...
阅读全文
posted @
2015-03-25 16:57
好好单调
阅读(5313)
推荐(2)
Linux下DVD-R刻录问题
摘要:之前CD的刻录一直使用的命令行工具集cdrtools中的mkisofs、cdrecord。然后本来刻录DVD可以使用它的growisofs命令。 现在假设原始文件目录为/src/,目标目录为/dest/。 初始化多次刻录命令为:growisofs -Z /dev/sr0 -J -R -gra...
阅读全文
posted @
2015-03-20 18:03
好好单调
阅读(2957)
推荐(0)
使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(2)
摘要:测试: 经前天的测试,最终还是没有明显的定夺到底是驱动的问题,还是打印机的问题。但是按照可能性来排查,最明显的一点就是其他测试环境不变的情况下增加一张图片,就可以打印出表格线,我始终觉得这里是突破点,但是一时又没了思路。 于是想看一下word中存在表格的时候会不会有同样的问题,遗憾的是没有,为此我暂定为是Office的Bug,上google搜索关键字,office excel can...
阅读全文
posted @
2014-12-08 10:28
好好单调
阅读(1441)
推荐(0)
使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(1)
摘要:问题: 通过自定义打印处理器,使用Windows无用户接口、渲染插件的通用打印驱动制定的虚拟打印机,在打印Excel表格文件时,会出现不绘制表格线的情况,其他正常。 分析: 客户那边实际使用环境中每次打印任务后面可以追加一张通过Excel生成的模板回执单,这个回执单打印出来是正常的,说明并不是所有情况下都会没有表格线(不然也不会现在才发现这个问题)。 于是就以回执单模板E...
阅读全文
posted @
2014-12-06 11:57
好好单调
阅读(1232)
推荐(0)
获取文件详细信息的方法
摘要:#include "stdafx.h" #include <iostream> #include <string.h> #include <windows.h> #import <Shell32.dll> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { CoInitialize...
阅读全文
posted @
2013-01-02 12:29
好好单调
阅读(474)
推荐(0)
Google开源项目风格指南——类
摘要:对单个参数的构造函数使用 C++ 关键字 explicit定义:通常, 如果构造函数只有一个参数, 可看成是一种隐式转换. 打个比方, 如果你定义了 Foo::Foo(string name), 接着把一个字符串传给一个以 Foo 对象为参数的函数, 构造函数 Foo::Foo(string name) 将被调用, 并将该字符串转换为一个 Foo 的临时对象传给调用函数. 看上去很方便, 但如果你并不希望如此通过转换生成一个新对象的话, 麻烦也随之而来. 为避免构造函数被调用造成隐式转换, 可以将其声明为 explicit.优点:避免不合时宜的变换.缺点:无结论:所有单参数构造函数都必须是显式
阅读全文
posted @
2012-12-06 19:20
好好单调
阅读(312)
推荐(0)
关掉"离开模式“,解决计算机无法进入睡眠状态
摘要:最近电脑突然发现无法进入睡眠状态了,前段时间还正常来着。我中午要午休,电脑上通常开着很多东西,不想它关机,所以这个睡眠状态对我就很重要了。 搜索了半天,解决方法有说什么被硬件或者软件唤醒啊什么的,我也都尝试了,都没用。 我的症状是: 点击进入睡眠后,显示器会提示进入睡眠模式,然后显示器关了,但是主机却一点事都没有,就跟啥都没做一样。然后一晃鼠标,显示器就亮了。 其实仔细考虑这个过程,会发现肯定不是被其他东西唤醒的,唤醒怎么着也要有个过程,主机怎么着也要睡一下下,但是我这症状就是一点也没有。最后终于找到原因所在,我开启了”离开模式“。百度下”离开模...
阅读全文
posted @
2012-11-07 14:13
好好单调
阅读(903)
推荐(0)
Linux中目录树结构与磁盘数据结合方式
摘要:从Windows开始学习的,现在看Linux的文件系统和磁盘结合方式,有点云里雾里。查了些资料。总结以下理解: Windows的文件都是放在分区中,系统寻找文件是从分区开始的,所有分区之间是并行的关系。而Linux中,由于文件结构是树形的,跟目录必须占用一个分区,然后这个根目录下可以挂载其他的分区,因此这几个这些个分区可以是并行的或者从属的关系。实例如下(从其他地方复制来的):有一块硬盘,分成了4个分区,分别是/;/boot;/usr和windows下的fat对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。如果我把windows下的fat...
阅读全文
posted @
2012-11-04 19:24
好好单调
阅读(328)
推荐(0)
计算机启动流程
摘要:今天在看《鸟哥的Linux私房菜:基础学习篇》中,看到计算机启动流程的介绍,以前不是很清楚。这里记下:
阅读全文
posted @
2012-11-04 17:11
好好单调
阅读(200)
推荐(0)
一个一对多问题的设计模型
摘要:问题引入: 今天在做一个用来限制对象位置的功能类,要完成的任务就是当对象被拖动的时候,不允许超出工作区域多少距离。这个问题不好处理的地方就是这个工作区域的获取问题,因为无法知道工作区域发生更改,并且工作区域更改的地方也无法直接设置给对象,即使能设置,也无法设置给这么多对象。因此这就是一个简单的一对多问题,即一个变化需要引起多个的变化。问题引出: 简化一下上述问题。有一个对象CSample,其内部有一个属性miCount需要根据一个系统相关的属性miSystemValue来进行计算。在无法直接接收到这个系统属性发生更改的前提下,如何让其所有实例化出来的对象都能重新进行计算呢?(注:下面的代码没.
阅读全文
posted @
2012-11-02 22:57
好好单调
阅读(418)
推荐(0)
读《程序员修炼之道》之笔记
摘要:在 读《程序员修炼之道》之我背景 中描述的状态下,我开始了对《程序员修炼之道——从小工到专家》这本书的阅读,也从此刻开始,我决定要坚持将博客写下去了,以前写的东西都心血来潮了就写一次,前不久自己在搜索一个问题的时候,竟然搜到自己写的博客了,当时郁闷的不行,自己写过的东西都忘了。我看书一直有个习惯,就是看的尽量仔细,尽量理解,希望能一劳永逸。其实这种想法是不切实际的,特别是这种逻辑上的书籍,更是容易让人看了之后茅塞顿开,过了几天就忘之天外的状态。所以决定写下看完之后的感想,以加深理解,同时记录自己的成长经历。我是从前面的“前沿”和“序”开始看的,这里讲述的就是整本书所要讲述的主题以及能对读者达.
阅读全文
posted @
2012-10-27 01:25
好好单调
阅读(197)
推荐(0)
读《程序员修炼之道》之我背景
摘要:从十一假期上来后,一直处于一种比较抑郁的状态。因为工资不高,帝都这么个地方消费这么高,再加上只有自己一个人在这边奋斗,又住在公司,一点私人空间都没有。为什么说我是一个人呢,因为虽然大学是在这边上的,可是毕业后班上工作与我做同一个方面的几乎没有人,遇到问题什么的,根本没人交流,这让我感觉,自己整个大学白过了。可想而知这种孤寂的心里有多严重,好几次想不顾一切的辞职了回去找份工作。工资可能还是一样,但是过的肯定要轻松很多。最终还是没有做,毕竟我不是那种一冲动就什么都不顾的人。 从去年8月份进这个公司,当时有几家公司供我选择,最后光考虑自身发展这点上选择了目前这家公司。当时我是大三的暑假,学校的政策.
阅读全文
posted @
2012-10-27 00:46
好好单调
阅读(173)
推荐(0)
几种获取屏幕大小的方式。
摘要:今天要把一个窗口显示到屏幕的中间,以前貌似做过这个功能,但是已经忘了,于是在网上搜了下,知道了如下三种方式:方式一: CRect rect; ::SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);方式二: int x = ::GetSystemMetrics(SM_CXSCREEN); int y = ::GetSystemMetrics(SM_CYSCREEN);方式三: RECT rc = {0}; ::GetClientRect(::GetDesktopWindow(), &rc);其中方式二和方式三...
阅读全文
posted @
2012-10-17 11:29
好好单调
阅读(415)
推荐(0)
关于并行、并发与多线程的一点理解
摘要:问题引入 做的一个程序中,需要从网络中获取数据然后解析后显示在界面上,然后我在没有搞清楚并行与并发的概念上就草草的搞了个线程,然后在线程里用OpenMP去做并行编程,再加上对多线程编程的不理解,造成了绕了一圈,做出来的效果和直接单线程运行程序没有差别甚至运行更慢的效果。追究根本 原因,就是我对同步、异步、并行、并发以及多线程这几个概念的模糊和想当然的理解上。概念区分 同步:就是代码是完完全全按顺序跑的。假如你的一段代码中,调用了一个函数,如ReadFile,它要花费5秒钟才返回,那么你的代码就得在这个地方等待五秒。知道它完成了你才能继续往下走。 异步:就是代码在宏观上是按顺序跑的,微观上其实不
阅读全文
posted @
2011-09-29 11:15
好好单调
阅读(309)
推荐(0)
Sqlite3 C/C++ 初级入门
摘要:以前只用过sql server和 access,都是很简单的应用,利用ado连接上数据库,然后查询等。最近因为实际需要,被推荐使用sqlite3,当时第一次听到这个名词。然后百度了下,最后找到了官网http://www.sqlite.org/index.html,sqlite3是干什么的,我就不多说了,本身我自己也说不出个所以然,还不如直接看百度。看了下官网上的介绍,然后就是Document下提供的简单入门文档,绕了半天弯路,最后才理解,sqlite3就是两个文件,sqlite3.h 和sqlite3.cpp。官网上的源代码文件几乎全下下来看了一下,找到了一个dll,但是没找到lib,所以花.
阅读全文
posted @
2011-09-28 17:14
好好单调
阅读(381)
推荐(0)
C++中对hash_map自定义哈希函数和比较函数的理解
摘要:首先申明一下,我是菜鸟,真正的菜鸟,不是谦虚。所以很多地方有错误,需要大家指出。我只是为了记录,顺便加深自己的理解,不是为了炫耀什么。 这两天学习使用hash_map,在网上搜索了一下,没搜到详细介绍hash_map工作原理的内容(可能是我的搜索方式有问题),然后就自己复制别人的代码,进行修改后使用。就因为是copy别人的代码,就多了后面这些教训了。。做实验用的源代码如下:#include "stdafx.h" #include <iostream> #include <hash_map> #include <vector>using s
阅读全文
posted @
2011-09-24 13:21
好好单调
阅读(1588)
推荐(0)
利用FindFirstFile和CreateDirectory函数实现多层目录的检测和创建
摘要://检测并创建多层目录//测试了 strPath = "C:\\Documents and Settings\\aa","11\\22\\33\\44","11\\22\\33\\44\\"情况。BOOL MakeDirecory(CString strPath){ //判断是不是以'\'或者'/'结尾,若是则去除 int nLength = strPath.GetLength(); while('\\' == strPath.GetAt(nLength-1) || '/'
阅读全文
posted @
2011-08-02 17:29
好好单调
阅读(344)
推荐(0)