13 sybtjp

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 16w+

递归获取文件夹下的文件路径

#include #include /* 预处理申明 *///#pragma comment (lib, "User32.lib")/* 函数申明 */DWORD ListAllFileInDrectory(LPSTR szPath);/* 全局变量 *///记录所有的文件和目录数DWORD dwTotalFileNum = 0;/* *******************************

2013-02-03 13:42:34

软件调试

http://blog.csdn.net/cuiweican/article/category/1097267

2012-05-10 11:28:47

ntoh实现

typedef unsigned short int uint16;typedef unsigned long int uint32;//短整型大小端互换#defineBigLittleSwap16(A)((((uint16)(A) & 0xff00) >> 8) | \(((uint16)(A) & 0x00ff) //长整型大小端互换#d

2012-03-22 18:56:05

关于在tcp上做开发的注意

1、包得解析?如果包过短的话怎么做?包过大的话怎么做?字节序问题

2012-03-14 19:22:55

AES CBC模式的加解密

在网络上使用此方式的加解密,会出现的问题是,需不需要iv,密钥同步,加解密,大家第一次拿到的密钥可定是相同的,因为是对称加密。关键的问题是,要不要iv同步?CBC的关键点是,只要我的加密顺序和对方的解密顺序一致,(当然双方的初始密钥和iv都要相同)就可以正确加解密,不需要iv在网络上传输。就是说大家在初始化时的key和iv相同就可以了。剩下的iv的变化是在各自的顺序中自动变化的。

2012-03-14 14:18:36

C++异常机制的实现方式和开销分析

在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须要了解语言中每个特性的实现方式及其时空开销。异常处理由于涉及大量底层内容,向来是 C++ 各种高级机制中较难理解和透彻掌握

2012-03-02 17:34:48

如何让网页上的Flash视频在弹出窗口中播放

很多浏览器都有这个功能,当你把鼠标移动到网页视频上,就可以看到顶部有一个按钮出现,弹出独立播放器。当你点击按钮,视频就弹出在新窗口播放了,这时候视频窗口的大小可以自由调整不再受页面的限制。这是如何做到的呢?首先想到的是,浏览器缩放缩放了页面的大小,正好可以显示视频窗口的大小。好像火狐有一个魔镜功能,可以实现网页简报既截取网页任意部分。 要做到这点,浏览器的外框程序必须是自己写的(国

2012-02-22 00:20:54

Chrome MessageLoop类分析

Windows程序是基于消息的,不管其封装形式如何,最后都要包含如下代码Cpp代码  MSG msg;   while(GetMesssage(&msg))   {   TranslateMessage(&msg);   DispatchMessage(&msg);    }  MSG msg;while(GetMesssage(&msg)){T

2012-02-22 00:16:12

多线程下task的一场处理方式

class MyTask : public Task {public:virtual void Run() {DoSomething();}};ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, new MyTask); 有封装一个Task其实是很麻烦的事情,特别是我们经常是要调用当前对象的方法。因此Chrom

2012-02-21 23:56:01

chrome task分析

多线程编程完全基于消息传递会比较麻烦,因为消息的封装和解析是比较麻烦的。不仅如此,被多个线程调用的其实是同一个对象的不同方法。比如Cpp代码  class Work   {    public:       void Start()       {            //CreateThread ... 创建线程或调用其它异步函数,结束时会调用OnCom

2012-02-21 22:40:59

Chrome的线程模型和消息循环

看Chrome已经有一段时间了,但是一直都没有沉淀些内容下来,是该写写笔记什么的了,免得自己忘记了。看的都是Windows平台下的代码,所以记录也都是记录的。。。废话。。那么首先,先从最基础的东西记录起吧:Chrome的线程模型和消息循环。多线程的麻烦多线程编程一直是一件麻烦的事情,线程执行的不确定性,资源的并发访问,一直困扰着众多程序员们。为了解决多线程编程的麻烦,大家想出了很多经典

2012-02-21 22:37:57

Chrome学习之LazyInstance

LazyInstance顾名思义,就是延迟创造类实例。    那chrome是怎么做到的呢?    为了性能,或者资源,程序中无法立即用到的对象,我们无需立即创造,比如一个界面的菜单对象,当你还没有点击菜单之前就创造了,那他一定会影响软件的启动性能。再比如数据库对象,或者线程...等等,进可能延迟,chrome高效的原因之一,在于调用无数个LazyInstance对象。研究过chr

2012-02-21 22:31:46

Chrome消息系统

前面写了Chrome消息系统(1)前比较抽象,这章来点具体的,当然要结合代码来看了!现在我要关注的问题是:一个RenderProcess的消息怎么发送到BrowserProcess进程中的,这个消息走了那些路?注意,所说的IO线程是Browser进程中的IO线程,非Render进程中发的IO。所谓的IO线程主要用来接受网络消息和进程间的消息,我先把网络消息抛到一边,单独分析

2012-02-20 16:07:15

chrome多进程架构

问题     构建一个永远不会崩溃或者挂起的排版引擎基本是不可能的,我们同样也不要指望哪天能够构建出一个绝对安全的排版引擎。     我们现阶段的浏览器运行在一个单用户,多合作,多任务的操作系统中。就像一个笨拙的应用程序可以让整个系统崩溃一样。一个糟糕的网页同样可以让一个现代的浏览器崩溃。其原因可能是一个插件出现bug,最终的结果是整个浏览器以及其他正在运行的标签被销毁。    现

2012-02-14 11:49:42

Chromium如何显示网页

本文档从底层原理开始介绍了Chromium如何显示网页。阅读本文之前你应该首先阅读“Chromium的多进程架构”这篇文章,重点要理解主要组件结构图。您可能也有兴趣阅读“多进程资源加载“这篇文章来了解网页是如何从网络获取的。应用层次概念图layers每个盒子代表一个概念中的应用层。通常情况下应该有可能通过替换任意一层及其上层组建来生成一个新的浏览器。因此,没有任何层

2012-02-14 11:47:51

Mhook与Detours

Detours vs. MhookDetours is available for free with a noncommercial license but it only supports the x86 platform. Detours can also be licensed for commercial use which also gives you full x64 sup

2012-02-01 16:43:41

Understanding Protocols

For over a decade, Internet Explorer has enabled developers to extend the browser with new URL protocol schemes. These protocols can be one of two types:Asynchronous Pluggable Protocols - COM obje

2012-01-17 11:31:49

Authenticode and Weak Certificate Chains

微软在新的ie8版本中对下载做了安全处理,对于下载的文件进行验证,如果所下载的文件的签名用的是md2 md4,则微软会提示安全风险。做法是用WinVerifyTrust去验证,flag是WTD_DISABLE_MD2_MD4

2012-01-12 15:30:31

The User-Agent String: Use and Abuse

When I first joined the IE team five years ago, I became responsible for the User-Agent string. While I’ve owned significantly more “important” features over the years, on a byte-for-byte basis, few h

2012-01-11 18:50:54

wininet与urlmon

We often have to work with customers to understand why a specific IE scenario fails.  In some instances we may have to enable some custom logging and data collection to get to the root cause.  However

2012-01-11 11:41:41

查看更多

勋章 我的勋章
    暂无奖章