- 博客(58)
- 资源 (19)
- 收藏
- 关注
原创 winsock2.h与 mysql_com.h的关系
包含顺序必须如下:#include #include 否则mysql_com.h会出现不识别socket的现象。
2013-03-18 23:38:46 1579
原创 CFileDialog控件ID值
子类化cfiledialog时可能用到的控件对应的值。用prevdlgctrl和nextdlgctrl遍历得到。open button1cancel button2file name(edit combo)1152folder(combo)1137
2011-11-09 22:43:36 1332
原创 ping源码代阅读(三)面向连接tcp/ip程序
在ping源码代阅读(一)中,图片详细表述了服务器端和客户端的交互过程,在这里以代码的形式分析其过程.服务器端:bind到一个端口后,使用listen开始收听所有的请求,这里在内核创建了一个长度为10的队列,一有请求就会放入到队尾.accept从队头取出一个请求开
2011-10-06 16:17:55 940
原创 ping源码代阅读(三)UDP数据报程序
非连接的通信是一种什么情况呢?可以通过sedto向任何一个套接口发送数据,如果想收听某一套接口上别人发送过来的数据,通过bind绑定到这个套接中,使用recvfrom接收.如果想做应答,那么通过recvfrom的第五个参数知道了发送过来程序的情况,进而可以对这个程序进行应
2011-10-05 16:59:22 926
转载 背包问题九讲
背包问题九讲-P01 0-1背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。题目赏析:http://ace.delos.com/usacoprob2?a=cDcYidnvTSI&S=sub
2011-09-28 20:06:02 703
原创 ffmpeg源码分析(一)DVB SI/PSI分析
TS流是由一个又一个的188(或204)字节的ts小包组成:4字节的头和184字节的数据.4B的头:typedef struct{ unsigned sync_byte:8;/*8 bits的同步字节,0x47,传送包标识符*/ unsigned transpo
2011-09-28 19:30:20 3330
原创 lex与yacc(二)计算器的实现
构建一个c语言的编译器并不是一件容易的事,我想每个人在学习编译原理的时候并不会常见得它非常简单.下面将会学习编译器的两个重要组成部分:词法分析器flex和语法分析器yaccflex是gun实现的fast lex(lexical anslysis)yacc实现有gun的
2011-09-24 18:44:24 5330
原创 lex与yacc(一)正则表达式
有很多知识需要知道,这是其中之一,它的强大不需要解释规则. 匹配除换行符以外的任何单个字符* 匹配前面表达式的零个或多个拷贝[]匹配括号中的任意字符的字符类.第一个符号是("^"),表示匹配除括号中的字符以外的任意字符.^ 作为正则表达式的第一个字符匹配行的开
2011-09-24 11:05:43 2516
原创 修正Ok6410的uboot网络不可用
通过使用uboot的网络功能可以更新ubook,烧写内核,文件系统,如果网络功能不可能,那还不如同变砖了一样.当然如果支持sd卡启动,可能通过sd卡完成这些功能,但是也太过麻烦了.飞凌的6410开发板提供的uboot的网络驱动是cs8900,但是实际上网卡是dm9000ae.
2011-09-24 10:09:53 3004 6
原创 curl源码分析(二)协议注册与使用过程
在curl.c函数里面可以找到下面的这个结构体数组.这个数组就是注册所有协议的地方.每种协议通过实现Curl_handler这个结构体里面的部分函数,再把它放入到这个结构体数组里面,这种协议就可以使用了.static const struct Curl_handler
2011-09-17 18:05:15 6647 1
原创 算法导论(九)kmp匹配算法
算法导论第32章题目:pku1961, pku2406, pku2752首先举个例子:要在一个字符串中找到和ababaca匹配的字符串的个数.b a c b a b a b a a b c b a b a b a b aca在这里前面
2011-09-17 17:30:30 1488
原创 算法导论(八)二叉查找树
第12章 二叉查找树#include using namespace std;struct tnode{ int val; tnode* left; tnode* right; tnode* parent;};//中序遍历vo
2011-09-17 14:39:57 706
转载 两兄弟爬楼梯
有一对兄弟,他们的家住在80层楼上。有一天他们外出旅行回家,发现大楼停电了!虽然他们背着大包的行李,但看来没有什么别的选择,于是哥哥对弟弟说,我们就爬楼梯上去!于是,他们背着两大包行李开始爬楼梯。爬到20楼的时候他们开始累了,哥哥说:“包儿太重了,不如这样吧,我们把包放在这里,等
2011-08-25 19:54:18 2455
原创 DirectFB源代码阅读(一),开篇简介
最终我还是决定写写DirectFB的源代码阅读,自认为对其还算熟悉,但也担心自己写的不够好.在这里希望各位博友能够多提出意见,互相学习,共同进步.DirectFB是什么东西,大家都知道,下面我把官网上的介绍翻译下:DirectFB是一轻量级的库,它提供了硬件加速,输入的处
2011-08-23 09:59:00 1762 1
原创 U-boot操作Flash (NOR, NAND & SPI)
uboot中操作三种flash的命令集:ActionNORNANDSPICopy Flash to RAMcp.[bwl]nand readeeprom readWrite to
2011-08-21 12:54:03 4789
原创 动态设备处理
当我们在学习新的知识的时候,总会需要去学与这个新的知识有关的知识,我有时会想我们会不会因爆炸式的知识增长而搞坏脑子。当电脑上插入usb的时候电脑右下角就会的提示,我们也可以通过右下角的小图标把usb卸载掉,这是怎么一会事呢?明明插入的是一个硬件,底层驱动又是如何与各种各样
2011-08-17 22:17:57 753
原创 s3c6410字符设备(二)按键驱动程序
led驱动程序是向寄存器写入数据来控制灯的亮和来,而按键驱动则是从寄存器中读出数据,查看某个键是否按下。这是一个不相同的地方。下面是键盘驱动:#define DEVICE_NAME "buttons"struct button_irq_desc {
2011-08-14 23:06:34 2525
原创 s3c6410字符设备(一)led字符驱动与测试程序
在前面gpio编程中已经写过led灯控制程序,那么现在写字符设备将变得简单许多,而且有更高级的函数让我们调用。1.测试程序#include #include #include #include #include #include #include in
2011-08-14 21:14:11 2806
原创 字符设备(三)由register_chrdev说起
前面两篇文章仅仅把最简单的字符设备的代码放上来了,并末做更深入的分析,下面就对函数进行一个个的分析。首先我们在注册函数里面调用了register_chrdev(MEM_MAJOR,"mem",&memory_fops),向内核注册了一个字符设备。第一个参数是主设备号,0代
2011-08-14 16:47:54 14242 1
转载 Webkit文本资源编码选择
本文描述了Webkit文本资源解码时,编码格式的选择问题。这里的文本资源是指HTML/XML、CSS,以及JS文件等。如果没有明确说明,本文提到的“文本解码器”均特指TextResourceDecoder类。文本资源解码器由TextResourceDecoder类表示。该类主
2011-08-14 10:55:27 1772
转载 Webkit定时器(Timer)分析
Webkit中Timer实现的基本思想是: 每个线程维护一个虚拟Timer的优先级队列,每次启动或停止一个虚拟Timer时,都会设置该Timer的下次触发时间(”next fire time”)。当虚拟Timer的触发时间变化时,需要调整其在优先级队列的位置,以保证队列的有效
2011-08-14 08:09:08 2370
原创 lite源码阅读(六)总结
通过学习lite的源码我们就可以知道如何完成一套简单的ui库。lite这套ui库之所以能够如此简单,主要还是directfb的完美实现。directfb包含了窗口管理,字体,事件响应,图片加载等功能,是更为强大小巧的ui库。在下面我们就对dfb有一个深入的认识了解!
2011-08-09 19:31:41 813
原创 编译uboot与内核
编译uboot1.配置 make mini6410_nand_config-ram256 支持nand启动make mini6410_sd_config-ram256支持sd卡启动2.修改CROSS_COMPILE这个变量3.编译make编译kernel
2011-08-08 23:13:30 648
原创 WebKit中的设计模式(四)简单工厂模式
每次我们去吃拉面的时候,就会对那做面的师傅说,来碗牛肉拉面或羊肉拉面,然后我们就去聊天,过一会面就上来了。我们可能并不知道这面是怎么做的,我们只需要告诉那师傅我们要什么,那做面的师傅就会给我们做好。这就是简单工厂模式。下面看下webkit中的一个简单工厂模式:Pass
2011-08-08 12:17:12 1116
原创 uboot源码阅读(九)开发板启动串口输出
这里仅仅是开发板执行的打印信息,平时很多时候还是会看一下,放到这里吧,希望你也能从这里面找到有用的信息。OKU-Boot 1.1.6 (Apr 6 2011 - 14:17:30) for FriendlyARM MINI6410CPU:
2011-08-07 08:31:12 2592
原创 curl源码分析(一)webkit中curl库的使用
webkit使用curl库,他就要去适应curl。当然curl也会做出努力能够让别人容易使用,这也是他份内的事。这里主要是分析几个函数,了解回调函数的使用过程。也可以帮助我们在以后使用curl库。webkit中有这么连续的四句,注册了在接收到网页的头和网页内容时候的回调函
2011-08-03 19:17:16 7680 1
原创 WebKit中的设计模式(三)策略模式
我们在学习c语言中的快速排序的时候,可以往里面注册一个自己的回调函数,我们通过这个回调函数就可以实现升序降序排列。这其实就是一种策略选择的问题。这是最为简单明了的一种。这里FrameLoader可以通过调用FrameLoaderClient来调用下面的3种具体实现
2011-08-03 19:05:48 1407
原创 WebKit源码分析(一)大纲
WebKit是一个比较大的工程。对其时行详细分析并阐明透彻是一件并不容易的事。在这里先列出要分析内容的大纲,具体内容会的以后慢慢完善:A.网络请求过程B.网络数据接收过程1.数据头的接收与处理2.数据体的接收与处理C.网络数据处理过程D.文字显示过程
2011-08-03 10:07:06 1116
原创 ping源码代阅读(二) 基本知识介绍
我们先把在ping代码中的需要的知识学习下,然后我们在阅读代码部分只需要把流程讲清楚就可以了。网络程序之间的连接需要五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。结合上篇中的流程图,把用到的api介绍下。A.int socket(int
2011-08-02 00:02:42 690
原创 ping源码代阅读(一)
如果再不学习下网络编程的内容,很多东西就都进行不下去了!首先通过阅读ping的代码初步学习下套接字编程.先放张图以便于理解
2011-08-01 19:58:28 940
原创 WebKit中的设计模式(二),单例模式
单例模式应该是最容易理解的一个设计模式了.我当时在面试的时候,被现在的项目经理问过.它可以让我们很轻松的访问定义的全局,或某些功能实现,并保证在整个工程中只有这一个对象.ResourceHandleManager.cppResourceHandleManager*
2011-08-01 12:32:40 1091
原创 WebKit中的设计模式(一),开篇
设计模式是一种思想,是智慧的结晶了.它有利于我们快速构建高效,模块化,高扩展性的代码.这种思想不仅仅在c++中有,c代码中也是有很充分的使用.设计模式是前提,是重中之重,那比它更重要的是什么?是原则!面向对象设计五大原则1. 单一职责原则(SRP:Single Res
2011-08-01 12:16:15 1287
原创 qlwm源代码阅读(一)
所有的类的说明:类名 父类 作用qapp QApplication 启动程序和分发事件Toolbar QFrame 工具条pager QLabel 虚拟窗格winlist QPushButton 应用程序列表menu QPushButton 菜单栏procba
2011-07-31 07:53:15 1019
原创 lite源码阅读(五)最终的核心
lite的代码写的很清晰,当然具体的实现我并没有一行行的代码看。最重要的就是下面的结构体了,在每个控件的类型定义第一个总是它,当然第一也是有原因的。/* @brief LiteBox structure * The LiteBox is the most common
2011-07-31 00:06:35 1006
原创 lite源码阅读(四)所有的函数
下面列出所有的函数1 lite litelite_openlite_closelite_get_layer_interfacelite_get_layer_sizeinit_default_cursorfree_default_cursor
2011-07-30 15:01:55 2231 3
原创 lite源码阅读(三)基本内容
1. lite_open主要做一些初始化的工作,创建IDirectFB, IDirectFBDisplayLayer,事件缓冲,字体、光标初始化。2. lite_init_window这里创建一个主窗口,拥有其它控件的性质3. lite_wind
2011-07-30 14:52:43 1392 1
原创 lite源码阅读(二),开始
如果我们阅读uboot或linux内核会从Makefile入手,但是这里仅仅是一软件库而已,那我们就应该从example开始。#include #include #include #include #include #include #include #i
2011-07-30 11:26:08 1792 1
原创 lite源码阅读(一),简介
lite是什么很多人可能不是很清楚,其实,从linux内核的frame buffer驱动到directfb,到lite最后再到webkit其实这是一条线上的。lite是什么,先看下来自directfb官网的介绍:LiTE stands for LiTE is a Tool
2011-07-30 11:14:19 1747
原创 GPIO编程(三)键盘控制led灯
在开发板上还有八个按键,用1234分别把1234灯点亮,5678把1234灯灭掉.我们通过向寄存器写入数据来控制led灯的亮灭,而键盘是我们不断从中读取数据来获取状态。在看代码之前,把GPIO编程的知识进行一次总结。1.GPxCON寄存器,选择引脚功能a.某位为0
2011-07-29 23:37:19 5085
CListCtr多表头的实现方法
2011-06-28
CListCtr多表头的实现方法
2011-06-28
Ghost用过最好的一键还原
2009-02-18
算法艺术与信息学竞赛题目完全解析
2009-02-18
算法设计与分析实验指导
2009-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人