C/C++
sunli124
迷茫中的IT民工!
展开
-
chromium 代码分析(2)
base:基础设施代码,该目录下的代码对理解chrome的基础架构设计是必不可少的,这里面是大量的工具性、框架性代码实现,比如对进程、线程、消息循环的统一封装,对字符串处理、c++对象生命周期管理、json解析、路径服务、日期时间、日志框架等。basictypes.h是base目录里最基础的文件,定义了int8, int16, int32等一系列基本数据类型和常用的宏。原创 2013-11-05 23:32:02 · 1525 阅读 · 0 评论 -
chromium 代码分析(1)
chromium源码下载、编译后,只是偶尔无聊的时候调试分析下源码,为了不再浪费那块SSD,决定把chromium design documents仔细阅读一遍,同时调试分析源码加强理解记忆。原创 2013-11-05 00:19:10 · 2527 阅读 · 0 评论 -
Interlocked Variable Access
Applications must synchronize access to variables that are shared by multiple threads. Applications must also ensure that operations on these variables are performed atomically (performed in their ent翻译 2013-11-21 16:48:23 · 2007 阅读 · 0 评论 -
Traits技术:类型的if-else-then(STL核心技术之一)
Traits: 类型的else-if-then机制Andrei AlexandrescuAndrei Alexandrescu在位于华盛顿州西雅图市的RealNetworks公司中任开发经理。什么是traits,为什么人们把它认为是C++ Generic Programming的重要技术?简短截说,traits如此重要,是因为此项技术允许系统在编译时根据类型作一些决转载 2013-11-20 17:07:57 · 2159 阅读 · 0 评论 -
Traits技术初探
概述:traits是一种特性萃取技术,它在Generic Programming中被广泛运用,常常被用于使不同的类型可以用于相同的操作,或者针对不同类型提供不同的实现.traits在实现过程中往往需要用到以下三种C++的基本特性:enumtypedeftemplate (partial) specialization其中:enum用于将在不同类型间变化的标示统一成一个,它在转载 2013-11-20 17:06:02 · 748 阅读 · 0 评论 -
traits技术理解
动机使用traits的动机一般有三种,分派、效率、使某些代码通过编译。 分派下面有一个模板函数,假设一个动物收容组织提供了它,他们接受所有无家可归的可怜的小动物,于是他们向外界提供了一个函数接受注册。函数看起来像这样: template // T表示接受的是何种动物void AcceptAnimals(T anim转载 2013-11-20 15:23:11 · 1104 阅读 · 0 评论 -
线程同步互斥的控制方法
原文链接 《线程同步互斥的控制方法》四种进程或线程同步互斥的控制方法 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。转载 2013-11-03 23:31:42 · 879 阅读 · 0 评论 -
Acquire and Release Semantics
An operation has acquire semantics if other processors will always see its effect before any subsequent operation's effect. An operation has release semantics if other processors will see every preced翻译 2013-10-31 23:21:24 · 858 阅读 · 0 评论 -
C/C++中的日期和时间 TIME_T与STRUCT TM转换
摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概转载 2013-10-29 22:55:34 · 753 阅读 · 0 评论 -
有关字节对齐的介绍
什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址转载 2013-10-28 23:06:01 · 600 阅读 · 0 评论 -
全部变量、静态全局变量、类静态变量、atexit回调函数的调用顺序
巩固下c++基础,代码如下:#include #include #include #include std::vector structure;std::map info;class test1{public: test1(){ structure.push_back(this); } ~test1(){ std::cout<<this<<"---~te原创 2013-11-08 13:27:52 · 1420 阅读 · 0 评论