自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xu的blog

有压力就有更多的动力,无压力将有更多的创新。

  • 博客(1316)
  • 资源 (26)
  • 收藏
  • 关注

原创 ios开发小记

今天ios遇到一个bug, UITableView的contentOffset会在内容不满一页的时候被reset, 其他时候正常, 而且这个bug只在有tabbar的地方出现, 经过调试, 发现是UIViewAutoresizingFlexibleHeight导致的.  网上有人说改变UITableView的大小会导致contentOffset被reset, 看来这个也是这个原因了.一些其他的

2013-05-18 21:11:21 4591 3

原创 随便聊聊

上一篇文章是在去年8月份写的, 已经快半年没到csdn写东西了. 一来是习惯了在everynote里面写东西, 另外是现在越来越忙, 没多少时间来写片长篇博文了.    去年到现在做的东西很杂, 思路也在不停地发展变化. 去年到现在做的东西主要有:   一. 做给c++加入元数据的东西, 我以前还写过一个文章来介绍这个:http://blog.csdn.net/chief1985/arti

2013-05-05 16:39:56 4715

原创 微信的研究(二)

10. 前面说到了现在承载赚钱业务的以web为主,原因是为什么呢? 是因为数据。马云曾经说过:21世纪核心的竞争是数据的竞争,谁拥有更多数据,谁就拥有未来。数据对于互联网公司就相当于现实中金钱。对于web而已,在客户这么没保留什么数据,基本将所要的用户信息全部汇集到了服务器。对于一个公司而言,发布一个软件,如果软件装在客户端之后就不再贡献数据了(例如单机应用),那么这个公司的寿命基本就等同于这个软

2012-08-24 22:01:48 23013 10

原创 微信的研究

下面是个人研究微信android 4.2版本的一些结果,不一定正确。1. 微信android使用的是amr编码;iphone未知,估计是aac,转码会在微信服务器上完成。android上使用了speex这个库,估计是为了达到边录边发。在服务器做格式转换确实比客户端方便多了,用ffmpeg就可以搞定了,也是瘦客户端的一种思路,而且可以依此延伸很多扩展业务。2. 微信android最新

2012-08-24 00:33:10 41025 17

原创 最近所想和所做

好久没写博客了,原因之一是最近习惯了用evernote去记录自己所想和所看的,另外一个原因是CSDN关闭了live writer的写blog的功能后,就没多大兴趣在csdn的网页编辑框里面写东西了,一来崩溃了写的东西全部丢了,一来手机上不好写。CSDN的标题是“全球最大中文IT社区,为IT专业技术人员提供最全面的信息传播和服务平台”,但我觉得现在的CSDN并不是面向于IT人员了,对于IT人员,特别

2012-07-03 13:55:08 5162 2

原创 android的crash log

在android下,如果我们写jni程序,可能经常会出现类似下面的crash log:10-11 20:47:24.527: INFO/DEBUG(61): *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

2011-10-13 16:18:50 10030 1

原创 webkit在win32下的编译规则(九)

在webkit在win32下的编译规则(七)中,曾经说到要专门介绍js binding这部分的,但后面逐渐忘记了,最近有网友提起,特加入js binding这部分的介绍。首先来说是js engine,js engine是一个解释器。解释器比较直观的就是命令行(cmd.exe)

2011-09-12 23:30:51 10135 3

原创 使用FireBreath写浏览器插件(三)

三. FireBreath Helloworld首先需要创建一个自己插件的工程,首先要安装Python,然后进入命令行后,在Firebreath的源代码目录下执行:python fbgen.py,这是将提示输入一些信息:Plugin Name:插件的名称,

2011-08-26 20:22:53 14432 6

原创 使用FireBreath写浏览器插件(二)

二. Firebreath的实际应用    去年我在给公司开发PC上Widget引擎,这个Widget引擎上面运行WebApp应用,界面和应用逻辑使用HTML+CSS+Javascript实现,而网页无法实现的功能则由CAR实现(CAR是与COM类似的技术,不过支持反射和AO

2011-08-25 22:28:50 13943 1

原创 使用FireBreath写浏览器插件(一)

一. FireBreath介绍    FireBreath是一个跨平台和跨浏览器的插件开发框架,通过Firebreath写的插件可以运行在windows,linux和mac上的IE,Firefox,Chrome,Opera,Safari等浏览器上。FireBreath的主

2011-08-25 22:20:48 22067 2

原创 svn 207 Multi-Status

最近更新webkit,出现了 svn 207 Multi-Status的错误:svn: PROPFIND of '/repository/webkit/!svn/bc/19963/trunk/LayoutTests/fast/xpath/4XPath/Core/tes

2011-08-23 21:59:31 5013

原创 将google reader里面的星标文章导成pdf

自从2007年开始使用google reader以来,已经看了不少文章,给不少文章加了星标,以供后面好查阅。最近google不太稳定,是否担心无法访问Google Reader后这些文章都丢失掉,因此想将这些文章备份起来。但Google Reader并没有提供将星标文章导出的功能

2011-08-15 21:45:43 4703

原创 给cygwin安装package

最近看到在win7下编译nodejs的文章《一步一步教你搭建win7下的Node.js服务》,也想自己尝试一下。编译需要依赖cygwin和一些模块,我机器上已经安装了cygwin用于编译cygwin,但还缺少nodejs需要的openssl-devel,pkg-config等模块

2011-08-15 21:28:00 17731

原创 买了台Intel i7 2600K的机器

最近没法忍受笔记本的编译速度,到太平洋三期买了台组装机,大概配置如下:CPU:Intel i7 2600K主板:技嘉 Z68x-ud3r-B3内存:金士顿 8G DDR3硬盘:希捷 1T 7200转 32MB系统: win 7 64位买回来后编译了Chro

2011-07-25 10:01:57 6020 1

原创 chrome使用的开源工程介绍

在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Browser,大家可以参考一下。   David M. Gays floating point routines homepage fp是netlib的一部分,主要用于浮点数运算,数的二进制与十进制的

2011-06-13 09:40:00 14249 1

原创 chrome里面的一些技巧

1. 求数组长度 求数组长度一般采用的是#define count_of(arg) (sizeof(arg) / sizeof(arg[0])),但这个宏对于指针在编译是不报错的,chrome里面是这么干的: template char (&ArraySizeHelper(T (&array)[N]))[N];#define arraysize(array) (sizeof(ArraySizeHelper(array)))void Test(int C[3]){ int

2011-05-26 19:36:00 3912

原创 wcscpy_s会改变后面的内容

wchar_t testBuf[MAX_PATH] = {0}; wcscpy_s(testBuf, MAX_PATH, L“c:/test”); assert(testBuf[16] == 0); 上面的代码会中assert,说明wcscpy_s会将/0后面的内容改变。

2011-05-26 19:20:00 5507 1

原创 webkit在win32下的编译规则(八)

HTMLElementFactory.cpp和HTMLNames.cpp是由如下规则生成的: ifdef HTML_FLAGS HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in     perl -I $(WebCore)/bindings/scripts $û,在浏览器打开就可以看见一个世界地图。 WMLElementF

2011-03-23 09:23:00 7348 5

原创 webkit在win32下的编译规则(七)

首先看$(JS_DOM_HEADERS),这些文件都是以JS开头的,对其做处理的是如下规则: JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)    $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $ CSSGram

2011-03-22 09:29:00 6368 3

原创 webkit在win32下的编译规则(六)

WebCore Folder下面的有3个工程:QTMovieWin,WebCore,WebCoreGenerated,编译的顺序是:WebCoreGenerated-》QTMovieWin-》QTMovieWin。 首先来看WebCoreGenerated这个工程,这个工程的NMake Build Comand Line如下: %SystemDrive%/cygwin/bin/which.exe bashif errorlevel 1 set PATH=%SystemDrive%/cygwin/bin;

2011-03-22 09:27:00 5767

原创 chrome里面的about Scheme

对about Scheme进行处理的地方: D:/project/chrome/src/src/chrome/browser/browser_url_handler.cc的void BrowserURLHandler::InitURLHandlers()函数 // staticvoid BrowserURLHandler::InitURLHandlers() { if (!url_handlers_.empty()) return; // Visual Studio 2010

2011-03-21 09:21:00 3561 2

原创 chrome sandbox中的几个有用函数

//判断句柄与路径是否是一样的// We get a |full_path| of the form /??/c:/some/foo/bar, and the name that// we'll get from |handle| will be /device/harddiskvolume1/some/foo/bar.bool SameObject(HANDLE handle, const wchar_t* full_path) { std::wstring path(full_p

2011-03-17 19:29:00 3229

原创 COMPILE_ASSERT

最近在看chrome的代码,发现了有个叫COMPILE_ASSERT的宏,用于编译时做判断。COMPILE_ASSERT宏的实现在D:/project/chrome/src/src/base/basictypes.h ,注释部分有其原理的介绍,如下: // The COMPILE_ASSERT macro can be used to verify that a compile time// expression is true. For example, you could use it to

2011-03-08 09:11:00 4657

原创 webkit在win32下的编译规则(五)

接下来看testapi这个工程,这个工程的编译设置基本与javascriptcore相同,最终生成testapi.exe。testapi.exe是一个测试javascript导出api的工程,这个工程就testapi.c和testapi.js两个文件,如下图: 虽然只有两个文件,却可以从这两个文件中学到如何使用javascriptcore这个js引擎,例如如何向js引擎注入对象和函数。可能很多人看了testapi.js这个文件函数会产生一个疑问,为什么不用window对象?对于js引擎而言,根本不存

2011-03-01 12:32:00 2726 2

原创 webkit在win32下的编译规则(四)

接下来看JavaScriptCore这个工程,这个工程继承的project property sheet如下: ../../../../WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops ../../../../WebKitLibraries/win/tools/vsprops/common.vsprops ../../../../WebKitLibraries/win/tools/vsprops/debug.vspro

2011-03-01 12:31:00 5030

原创 用Incredibuild编译webkit,chrome和Qt

前一段时间换了一个500G 7200转的硬盘,以为可以提高webkit等工程的编译速度,最终测试下来并没有提高多少。最近试了一下Incredibuild,确实可以提高速度很多。例如4台机器一块编译,差不多可以提高2-3倍左右。下图是编译webkit的截图: 编译chrome的截图: 编译qt的设置参考http://zaichunchen.appspot.com/2010/06/7/qt_incredibuild_compile.html 虽然提高速度很多,但Incredibuild并不能完

2011-02-28 09:56:00 5288

原创 webkit在win32下的编译规则(三)

首先来看WTF这个project,这个project的Pre-build event如下: 1: REM Do not edit from the Visual Studio IDE! Customize via a $(ProjectName)PreBuild.cmd file. 2: if not exist "$(ProjectDir)$(ProjectName)PreBuild.cmd" exit /b 3: 

2011-02-14 19:37:00 4982

原创 error LNK2019

<br /><br />编译dll时出现了LNK2019这个错误,<br />libcmtd.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup,我尝试了http://hi.baidu.com/kanoncom/blog/item/9150b4a1fe533c80471064f9.html提到的方法,无用,到网上找了一些别的方法,也无用,后来又试了在

2011-01-14 23:09:00 2969

原创 webkit在win32下的编译规则(二)

现在的webkit分为4个Floder:Javascript Folder,Tools,WebCore Folder,Webkit2 Folder,WebkitCom Folder,这5个目录的编译顺序基本是:Javascript Folder-》WebCore Folder-》WebkitCom Folder-》Webkit2 Folder-》Tools(有些子工程的顺序并不是这样的),下面就以这几个目录为单位来说明webkit的编译规则。 1. Javascript Folder 这个目录下有

2011-01-07 20:46:00 7915 5

原创 webkit在win32下的编译规则

最近有人在windows 7下的webkit编译不过去,问我该怎么解决。我看了一下,主要是SVGAnimationElement.cpp等文件编译不过去,这里面使用了开启svg后的一些枚举变量,但webkit在编译时生成的WebKitBuild/include/WebCore/CSSPropertyNames.h文件里面并没有生成这些枚举变量,我检查一些编译选项,配置都是OK的,我又看了一下webkit的编译规则,发现CSSPropertyNames.h的生成是依赖CSSPropertyNames.in等文

2010-12-27 22:25:00 10341 7

原创 CDialog里面的Webkit

如果你在VC的对话框(CDialog)里面加入Wekbit,你会发现网页里面的输入框(input box)无法输入,点击时也没有高亮的效果。调试的时候你可以发现CDialog里面的Webkit窗口可以收到Key_down事件,但是无法收到key_up事件和key_char事件,而WinLauncher是正常的。对比WinLauncher的代码你可以发现,CDialog所创建的窗口样式和WinLauncher所创建的窗口样式是不一样的。CDialog的样式中包括WS_POPUP,而WinLauncher的样式

2010-12-25 19:56:00 3792 6

原创 adb devices获得的设备标识

在命令行执行adb devices,你会得到连接上的设备,结果里面有每个设备的标识(serial number)。在adb的其他命令中,你可以用adb –s 来指定用某一个设备来执行命令,但是每个设备的serial number都不一样,adb是如何得到的呢?查看adb的源码后,发现其获取serial number的代码如下: //D:/project/android/android-1.5/development/host/windows/usb/api/adb_interface.cpp bool

2010-12-08 22:39:00 29725 5

原创 运行chrome ui

最近看了一下chrome UI 学习笔记(http://blog.chinaunix.net/u2/76055/showart.php?id=2093274),觉得chrome的ui架构不错,将很多基本控件进行了封装,这样写出来的ui就可以运行在windows,linux,mac机上,但其比qt和wxwidget轻量化,应该可以抽离出来,单独来作为一个简易的图形库。另外,chrome对多语言和皮肤等处理都很值得参考。在这里面学到了一个技巧是,设置完cygwin的环境后就可以在bat里面运行linux的相关命

2010-11-13 23:59:00 4860 1

原创 wprintf输出中文

浅析 Linux 的国际化与本地化机制 http://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/index.html?ca=drs- 如何获得当前系统的locale呢?包括windows和UNIX http://bbs.chinaunix.net/viewthread.php?tid=1752378 http://search.cpan.org/~sburke/Win32-Locale-0.04/Locale.pm   use Win32:

2010-11-09 22:07:00 9045 2

原创 判断目录是否可写

下面是一段delphi代码(来自http://www.delphiarea.com/articles/how-to-find-if-a-directory-is-writable/),function IsDirectoryWritable(const Dir: String): Boolean;var TempFile: array[0..MAX_PATH] of Char;begin if GetTempFileName(PChar(Dir), 'DA', 0, TempFi

2010-11-09 22:07:00 2594 1

原创 调试dll和exe加载失败

如果启动程序时出现《应用程序正常初始化(0xc0000142)失败。请单击“确定”,终止应用程序》这种错误,可以先用depends.exe这个工具来看依赖没有问题。如果没有问题,可以用resourcehacker之类的工具看exe和dll的资源段的manifest信息,通过这个来看依赖的crt是否正确,特别要注意不同dll之间这个信息可能不一样(一个exe不能同时加载多个版本的crt)。如果还不能解决,只能通过调试器来分析了。通过devenv.exe 《程序路径》来启动程序,然后打开下面的文件,并在相应地方

2010-10-20 21:33:00 3424 1

转载 奇技淫巧之避免因宏带来的名字冲突

<br />转自:http://hi.baidu.com/solidmcp/blog/item/3e8fd789d4142ebd0f2444f2.html 。介绍的方法不错,可以解决很多宏冲突的问题。<br /> <br /> <br /><br />奇技淫巧之避免因宏带来的名字冲突<br /> <br />>> 退避三舍:<br />既成事实,不得不低头,你把max的名儿占了,那我就叫iMax;<br /> <br /><br />>> 刮骨疗伤:<br />中毒没问题,格老子效仿关云长刮骨疗伤。<br

2010-10-18 16:09:00 2099

原创 webkit中js调用SHBrowseForFolder时需要点击两次才能点中确定按钮的bug

html form里面的选择文件对话框只能得到文件的名称,拿不到文件的全路径,只能扩展js让其去调用通用对话框的函数,例如SHBrowseForFolder。写完代码后,发现需要点击两次才能点中确定按钮的bug,一开始以为是鼠标有问题,后来发现每次都是这样,这肯定是代码的问题了。一开始我以为是SHBrowseForFolder调用有问题,认为SHBrowseForFolder产生的对话框没有获得焦点,所以用各种方法来使得对话框获得焦点,用各种方法都发现没用。针对要点击两次的问题,我还试过模拟鼠标点击来试图解

2010-10-11 23:56:00 2438

原创 webkit中tooltip不显示的解决方法

<br />在WebKit/WebKit/win/WebView.cpp里面有如下一段代码:<br />void WebView::initializeToolTipWindow(){ if (!initCommonControls()) return; m_toolTipHwnd = CreateWindowEx(WS_EX_TRANSPARENT, TOOLTIPS_CLASS, 0, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTI

2010-09-27 22:54:00 2738

原创 2010中国自由软件日活动同济大学分站讲座ppt

2010中国自由软件日活动同济大学分站日程 "自由软件日(SFD)"是全世界自由/开源软件(FOSS)的节日。我们希望借此活动能够向公众介绍在教育、政务、商业等所有领域使用高质量自由/开源软件的益处。在全球,非赢利组织----国际自由软件基金会(SFI)为SFD活动提供必要的合作和支持,而遍布全球的志愿者团队负责筹办当地的SFD活动来推动其社区的发展。同济大学分站的活动日程如下:  地点:同济大学嘉定校区电信学院 时间:2010年9月18日 13:00 ~ 17:40时间内容13:00 ~13:10开场白1

2010-09-19 23:18:00 1855

webkit介绍

An Open Source web browser engine The backend for Apple’s Safari browser Used in Apple’s iPhone Also ported to, ships with all Symbian S60 devices An Open Source project inviting contributions to the core engine as well as welcoming ports to new platform.

2010-09-19

Android Open Project

Android Open Project: What is Android? What is Open Handset Alliance? Update history of Android Android Architecture Android Source Code What can we do in Android?

2010-09-19

The Interoperability Between Dalvik and CAR

The Interoperability Between Dalvik and CAR: Interoperability of CAR and java More effective Once write, Run anywhere All CAR’s features

2010-09-19

Extend Webkit with CAR.ppt

Extend Webkit with CAR -A New Model of Rich Internet Applications

2010-09-19

WebKitSupportLibrary.zip

WebKitSupportLibrary.zip

2010-06-13

Dalvik VM——Research and Implement on Elastos.ppt

Dalvik VM——Research and Implement on Elastos.ppt

2010-04-17

Interaction between JavaScript and CAR.ppt

Interaction between JavaScript and CAR.ppt

2010-04-17

OSGi with CAR-Bundle

OSGi with CAR-Bundle.ppt

2010-04-17

小波压缩以及图像处理资料2

小波压缩以及图像处理资料,需要的可以下载。

2010-01-08

小波压缩以及图像处理资料1

这里面试小波压缩的资料,需要的可以下载。

2010-01-08

可以在cygwin下面编译通过的cldc kvm 1.1

可以在cygwin下面编译通过的cldc kvm 1.1,编译步骤可以参考http://blog.csdn.net/chief1985/archive/2009/09/03/4517320.aspx

2009-09-04

飞信Symbian客户端接口规范

飞信Symbian客户端接口规范,总共有233页。需要的可以下载。

2009-05-27

矩阵相乘的快速算法

矩阵相乘的快速算法,O(n2)的时间复杂度

2008-06-27

BIOS研发源码

BIOS研发源码.rar

2008-06-12

自己动手写嵌入式操作系统

自己动手写嵌入式操作系统的代码

2007-11-21

ucren-widgets

ucren-widgets.rar,窗口,outlook bar等控件,javascript写的

2007-04-30

讯雷首页的图片转换效果.rar

讯雷首页的图片转换效果.rar

2007-04-30

超好看的提示.rar

超好看的提示.rar,javascript

2007-04-30

Eclipse插件开发教程

Eclipse插件开发教程.rar

2007-04-30

js软键盘

js软键盘.rar,网页制作有用

2007-04-30

中国日历类

中国日历类.rar,javascript写的

2007-04-30

C语言嵌入式系统编程修炼

C语言嵌入式系统编程修炼.pdf

2007-04-29

拼音输入法源程序

拼音输入法源程序.rar

2007-04-29

basic解释器源代码.rar

basic解释器源代码.rar

2007-04-29

全国省市县三级联动+获取客户端具体地址

全国省市县三级联动+获取客户端具体地址

2007-04-29

模拟韩国雅虎的TAB效果

模拟韩国雅虎的TAB效果

2007-04-29

空空如也

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

TA关注的人

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