上一页 1 2 3 4 5 6 7 ··· 9 下一页

2014年4月16日

linux shell 命令学习(1) du- estimate file space usage

摘要: du - estimate file space usage , 计算文件的磁盘大小语法格式: du [OPTION] ... [FILE]描述: 汇总每个文件的磁盘大小, 递归汇总目录的大小, 默认输出所有目录的大小, 默认的大小单位是k。常用参数: -a : 输出所有文件的大小,不只有 目... 阅读全文

posted @ 2014-04-16 20:06 一颗麦粒 阅读(435) 评论(0) 推荐(0) 编辑

2014年3月27日

多线程进行n皇后计算

摘要: 在浏览zhihu的时候, 看到了这个问题:Linux c++服务器端这条线怎么走?http://www.zhihu.com/question/22608820 , 其中排第一的答案说的很不错。针对他结尾处给出的问题,一直想自己做一下,最近工作不忙,也写了以下,还是发现了一些自己存在的问题,总结一下吧。一个简单的8皇后问题可以比较容易的实现#include #include #include int cntTotal = 0;int BOARDSIZE=11;bool markboard(bool* b, int row, int col){ for(int i =row;i=0; ++i... 阅读全文

posted @ 2014-03-27 11:35 一颗麦粒 阅读(1505) 评论(0) 推荐(0) 编辑

2013年11月15日

MultiSelectListPreference 的使用心得

摘要: 最近在学习Android上的开发,打算做一个app。在做之前感觉很简单的功能,自己也有几年的C++经验,应该学起来很容易。但是事实告诉我,要注意的细节还是很多的。大部分的app都会有设置页面, 用来配置一些使用上的特性,android提供了一个perferenceActivity的activity来支持与设置相关的开发工作,具体的内容可以参看sdk。这里主要说明一下如何使用MultiSelectListPreference。MultiSelectListPreference 提供了一个多选的列表供用户选择,然后会自动的持久化到SharedPreference中去,一个比较简单的xml配置节如下 阅读全文

posted @ 2013-11-15 21:33 一颗麦粒 阅读(5427) 评论(0) 推荐(0) 编辑

2013年10月28日

chrome中tcmalloc的使用

摘要: chrome中内存分配采用了第三方库tcmalloc,这个库主要提供给应用程序内存管理方面的优化,按资料说内存存取速度会从300ns降到50ns。更具体的关于这个tcmalloc的信息大家可以查网上的资料看看, 本人对tcmalloc的实现不是很熟,这里主要向熟悉一下chrome的代码,主要说说 tcmalloc如何集成到了chrome中,通过研究这个,一是看看如何使用tcmalloc,另外可以对window下VC的内存C runtime的库有更多的了解。tcmalloc主要提供了自有的一套内存分配的函数,来替换我们常使用的new delete等VC++默认提供的内存分配实现。chrome中的 阅读全文

posted @ 2013-10-28 16:15 一颗麦粒 阅读(2051) 评论(0) 推荐(0) 编辑

2013年10月15日

Chrome中的消息循环

摘要: 主要是自己做个学习笔记吧,我经验也不是很丰富,以前学习多线程的时候就感觉写多线程程序很麻烦。主要是线程之间要通信,要切线程,要同步,各种麻烦。我本身的工作经历决定了也没有太多的工作经验,所以chrome的messageloop可以说是我用到的第一个成熟的线程消息封装库,用的很简单,舒服。主要涉及MessageLoop和MessagePump这两个类系。以前不太清楚chrome当时在设计这两个类时是如何分工的,今天又看了一下代码,有了点感觉。MessagePump主要用来做消息循环, 与操作系统等平台相关的部分都在MessagePump类里, 针对不同的平台有不同的实现,对messageloop 阅读全文

posted @ 2013-10-15 13:58 一颗麦粒 阅读(2551) 评论(0) 推荐(0) 编辑

2013年6月6日

从微观看chrome 之二:围绕Profile的ProfileService系统

摘要: 本来要上下简单的uml图,但是不知道怎么穿不上来,就简单描述下巴。Chrome中profile是一个核心的对象,profile用来进行chrome账户之间的隔离,不用的账户所持有的profile不一样。所有的逻辑或多或少,直接间接的都与他发生关联。大部分的chrome服务类, 都可以通过profile来获取。这些服务类彼此之间相互依赖,提供基础的服务给浏览器的上层使用,本文大概分析下这些服务的实现结构。实现上来说每个service都有对应的一个继承自ProfileKeyedServiceFactory的一个对应工厂类。工厂类以Singleton<>类为实体存在,维护了每个profi 阅读全文

posted @ 2013-06-06 15:57 一颗麦粒 阅读(1323) 评论(0) 推荐(0) 编辑

2013年6月3日

从微观看chrome 之一:Singleton<T> 范型类

摘要: Singleton是chrome中用来实现单列的一个范型类。chrome中大部分的与profile有关的服务都是用该类作为底层的实现。类定义的如下:template <typename Type, typename Traits = DefaultSingletonTraits<Type>, typename DifferentiatingType = Type>class Singleton { private: // Classes using the Singleton<T> pattern should declare a GetInstance(. 阅读全文

posted @ 2013-06-03 17:55 一颗麦粒 阅读(2469) 评论(2) 推荐(0) 编辑

2013年6月1日

一个基本算法题暴露出来的C++基础不扎实

摘要: 好久没有写算法了,写算法都手生了,这可不利于找工作呀,打算坚持每周看一下算法方面的相关知识。今天是第一次,所以就入门一下吧,看了一下鸡兔同笼的问题。问题如下:问题描述一个笼子里面关了鸡和兔子(鸡有2 只脚,兔子有4 只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物输入数据第1 行是测试数据的组数n,后面跟着n 行输入。每组测试数据占1 行,包括一个正整数a (a < 32768)。输出要求n 行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2 个0。 阅读全文

posted @ 2013-06-01 23:56 一颗麦粒 阅读(7293) 评论(0) 推荐(0) 编辑

2013年1月8日

读取STGMEDIUM中的数据

摘要: 该数据结构用在COM对象之间传递使用, 头文件中定义的数据结构如下:typedef struct tagSTGMEDIUM { DWORD tymed; /* [switch_is][switch_type] */ union { /* [case()] */ HBITMAP hBitmap; /* [case()] */ HMETAFILEPICT hMetaFilePict; /* [case()] */ HENHMETAFILE hEnhMetaFile; /* [case()] */ HGLOBA... 阅读全文

posted @ 2013-01-08 14:39 一颗麦粒 阅读(1287) 评论(0) 推荐(0) 编辑

2012年3月22日

C++对象模型学习

摘要: 《深度探索C++对象模型》这本书看了2遍了,第一遍时很多东西懵懵懂懂,似懂非懂,在看时就比较清楚了。想着对比书上的理论,写点代码来验证一下,应该理解会更深刻些。这篇博客中先记录一下第三章的内容-data语意学。所有的代码都是在vs2008中编译。p84(1):一个空的class内存占用是一个字节,这样的两个空对象就能够在内存中各自分配一个独一无二额地址class CTst{ };p84(2): 如下代码的大小是4个字节(ms vc 环境下)class CSecond : public virtual CTst{};这个CSecond的大小受3个因素的影响:语言本身所造成的额外负担编译器对于特殊 阅读全文

posted @ 2012-03-22 22:43 一颗麦粒 阅读(952) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页

导航