自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 c/c++ 里面的变长参数的实现

  c里面的变长参数,c++里面也有。提供了:一个类型  va_list3个宏  va_start  va_arg  va_end使用还是很方便的,但是实现是怎么样的呢?

2011-05-16 23:04:00 6551 5

转载 chromium 构建步骤

<br />因为伟大的墙,我没法轻松访问chromium开发的文档, 现在找了个代理,就先都保存下来,以后好看.The Chromium Projects HomeChromiumChromium OSQuick linksReport bugsDiscussSitemapOther sitesChromium BlogGoogle Chrome ExtensionsGoogle Chrome FrameExcept as otherwise noted, the content of this page

2010-10-25 10:40:00 3942 2

原创 IE7 zoom属性相关的布局问题 以及 暴力调试

web 开发中,布局问题是最难解决的一类。大量的css互相影响,元素和元素层层嵌套,相邻的元素也会互相影响布局,浏览器实现各异,又是个黑箱,没法跟踪它到底怎么布局的。这种问题,往往只能蒙。我最近就遇上一个这样的问题。下面是简化的代码             .longdaui .longdaLeft{float:left;}        .longdaBtn{border-width:1

2010-05-29 02:27:00 1441 2

原创 十进制浮点数的表示方法

使用十进制浮点数,可以避免二进制浮点数与我们习惯的十进制数之间的表示误差.这个在金融领域是非常重要的.但是计算机基本都只能对二进制浮点数进行计算,也就是IEEE754格式表示的浮点数.很多程序都会自己模拟十进制浮点数的计算.为了统一,IEEE754做了扩展,包括了十进制的浮点数.IEEE 754-2008里面规定了十进制浮点数的一些规范.不过里面没有说具体的二进制表示方法.只是规定了32位,6

2010-02-20 23:39:00 15010 9

原创 调试经验谈-根据crash dump查找bug

很多时候,我们不知道如何重现一个crash问题,只有一些log或者dump,拿到一个这样的crash的问题,并不知道是什么原因,怎么样来慢慢分析,这篇文章就举了一个现实的例子,看看怎么查找一个crash问题的原因。这个是我们软件发生的一次崩溃,只在客户的环境上发生,没有人知道在实验室里怎么重现,好在客户那边给出了windows的dump文件,这样就可以很容易的查看当时的案发现场了。用win

2010-01-24 16:01:00 2163 2

原创 调试经验谈-release版特有的问题

c++的程序,都会有release和debug版,主要是优化选项和运行时检测不同。我们有时会遇上在debug版运行正常,release版运行错误的情况根据我的经验,主要是两个原因,一个是变量没有初始化,导致debug和release版的初始值不同,另外就是内存布局不同,导致一些内存溢出或野指针的问题表现不同。  检查的方法,因为release的程序往往不好调试,所以先通过log缩小问题范围

2010-01-21 21:43:00 985 2

原创 一个关于TCHAR的离奇bug

最近解了一个超级让人faint的bug。 一个成员函数f()明明修改了一个成员变量a,可是执行完一看,压根就没改。debug的时候也看不出啥问题,进这个函数f的时候是看着改了,一离开这个函数,a的值还是修改前的值。   我又研究了十几分钟,终于看出了原因。该成员函数是父类B的,子类C继承了B。B类的定义里,简化一下,就是这样的:class B{   TCHAR str[MAXLEN

2009-04-13 21:23:00 764 5

原创 用template 来开发dojo widget

dojo 提供了一套模板机制来做widget. 可以写一段widget的html代码,运行时就可以把这段html替换到DOM里面.参考这里: http://dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/manipulating-widgets-through-code/writing-your有一点文档里

2008-12-19 14:52:00 1138

原创 IE 里面的activeX控件的打印预览问题

昨天接到一个bug,我们的软件有一个浏览器activeX插件,在html页面里面显示附件列表,支持直接拖放文件,这个控件在浏览的时候挺正常,但是如果使用IE的网页打印预览功能,那个控件就有一块是空白。 刚拿到这个问题确实让我挺挠头,完全不知道从哪下手。不过通过分析代码,发现是这个控件里面的一个list control没画出来,跟了一下activex控件的ondraw方法,发觉里面没有对list c

2008-11-26 20:43:00 3894 1

转载 JavaScript 技巧与高级特性

比较好的一篇javascript文章,讲了些高级特性http://www.ibm.com/developerworks/cn/web/wa-lo-dojoajax1/index.html?ca=drs-cn-1114&ca=dkw-Ajax

2008-11-17 11:13:00 841 1

原创 一些微软 google IBM 笔试题 面试题

收集了一些我去微软 IBM google 笔试 面试的比较好的题目。大家可以练习一下,全都是c语言题目。1. 写一个宏toStr,把一个宏定义的符号变为对应的宏定义内容的字符串。比如#define NAME jackprintf("NAME is %s\n", toStr(NAME));会输出NAME is jack。2. 接着第一题,扩展一下,写个宏print

2008-10-24 20:24:00 2322 1

原创 看chromium代码发现一点有趣的东西

国庆比较闲,就看了一下chromium的代码,也就是chrome的代码。我比较感兴趣的是它多进程管理和沙箱的实现。整体架构就不说了,官网上写得挺清楚,具体流程我也不说了,说的再清楚也不如代码清楚。文档http://sites.google.com/a/chromium.org/dev/打包下载地址http://build.chromium.org/buildbot/archives/chromiu

2008-10-03 03:22:00 1659

原创 About Bind in Prototype JavaScript Language.

This is the first article on JavaScript, more will be put here in Chinese maybe.Some reference is from the Prototype website, and some from JavaScript the definitive guide 5th edition, rest is my comm

2008-05-08 23:26:00 554

原创 这个世界,有点创新真难啊

我突然想到一个自认为挺好的创意,做一个基于web的web 应用开发工具。开发对象是ruby, groovy,python等做的脚本类的开发框架上的web程序。要包括源代码管理,语法着色,在线的提交,调试运行。这样,就不用在客户端有任何工具了,对一些小规模,经常变化的应用,会很方便。但是,我发现这个世界,总是在无聊的重复着。我的想法早就有人做了。http://gyre.bitscribe.net/,

2007-12-17 23:07:00 714

原创 我为什么选用转码的方式调整码率

       视频转码,基本上是被认为不适合用在实时的视频应用中的,因为那样需要网关有很强的计算能力,否则就会导致明显的延迟。所以就会有各种可扩展的编码方案出来解决这个问题,比如可扩展编码(SVC),精细可扩展编码(FGS),渐进的精细可扩展编码(PFGS),多描述编码(MDC)。使用这些编码方式,网关可以很方便的对码流进行裁减,不用做多少计算。       但是,视频转码有个显著的优势,那就是简

2007-02-17 12:30:00 1700

原创 关于C/C++动态内存管理

     看了一下glibc 的malloc,发现它的算法和windows的heap管理差不多,都是有个固定大小的用来快速分配的列表,然后就是排序的freelist,太大的块就直接mmap了.不过在多线程的管理上和windows的heap有很大的不同, 有空的话,再细写一下.    此外,还发现glibc提供了一套obstack的内存管理机制.挺有用的.不知道有没有人有兴趣知道. 

2007-01-16 00:16:00 1133 4

原创 C/C++动态内存管理(2)

   windows的heap管理   实在没什么好说的,windows internal 讲了个大概. 微软有个ppt把内部的数据结构已经讲的够清楚了.http://www.google.com.hk/url?sa=t&source=web&cd=6&ved=0CD0QFjAF&url=http%3A%2F%2Fcybertech.net%2F~sh0ksh0k%2Fprojects%2

2007-01-12 23:09:00 1340

原创 怎么从vector里删除元素

    现在用stl的人越来越多, stl确实是套很漂亮的算法和数据结构库. 但是初用stl的人往往会遇上很多问题.从一个容器中删除元素,是很常用的操作,但是也是初学者常会犯错误的地方,删除map和list中元素可能会犯迭代器失效的错误. vector是stl里很常用的一个容器, 和map,list等容器相比, 从vector中删符合某些条件的元素有更多的麻烦.比如,我们要完成如下的任务.

2007-01-01 16:40:00 9873 2

原创 C/C++动态内存管理(1)

 c和c++的内存管理里面最复杂的恐怕是动态内存管理部分了,也就是c里的malloc和c++里的operator new. 他们的作用我就不罗嗦了.我只讲讲它们是怎么实现的.虽然没有标准规定, 但是opertor new很有可能是用malloc实现的,至少Ms 的crt是这样. 不过可以肯定,malloc不会用operator new实现. 所以,我就讲讲malloc和free的实现.

2007-01-01 16:23:00 3825 2

原创 测试

测试一下,主要测试对贴代码的效果,还有速度等. TCHAR szTemp[4096];    // But before wqe do this, we first check if the ".local" file exists    if (GetModuleFileName(NULL, szTemp, 4096) > 0)<img id="_149_1159_Open_Imag

2006-12-31 18:06:00 845 2

the old new thing

windows 开发的趣事 Raymond Chen在Micorsoft的Windows开发团队中工作了十余年,他将为您揭开那些有必要知道的“Windows内幕”。 Chen风趣的写作风格、深入的洞察力以及引人深思的幽默,使他成为了世界上最优秀的技术博客作者之一。在本书中,他不仅给我们带来了许多幕后的故事,宝贵的技术建议,还带来了许多启发性的轶事;这些都将帮助您最大程度地理解Windows。

2009-02-14

空空如也

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

TA关注的人

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