自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (4)
  • 收藏
  • 关注

原创 大话操作系统之存储管理

假如计算机的存储系统比喻为一个图书馆的借书还书部的话,里面如牛毛多的在等待借出和还来的书就是内存中一个个的文件了,这些书都有ISBN号码的,同理,内存中的地址空间就是内存中这些文件的ISBN,假如这个图书馆很大,借书还书部又比较小,这就造成了每次学生借书高峰期,借还书部门前就排成了S行的曲线,在字母B即将完工时,借还书部的那帮小M们受不了了。俺也要休息啊!这就是传说中的内存超载。最简单的策略就是交

2011-12-31 11:39:02 1758

转载 The golden age of the developer

There’s never been a better time to be a developer, says The Kernel’s technical editor. But in exchange for all the resources laid out in front of you, what are you doing to give back?There’s never

2011-12-26 18:01:10 903

原创 高级字符驱动程序操作之异步通知IO(实践篇)基于内核2.6.35-30

1. async.c 主要展示异步通知机制在驱动程序中的实现#include #include #include /* everything... */#include /* size_t */#include #include #include /* copy user */#include /* POLL_IN */#inclu

2011-12-26 15:11:38 899

原创 Scull在2.6.35-30内核中的编译解决方案

LDD3作为从事驱动开发工作人员的必要参考资料,认真研究书中的附带源码具有很高的参考价值,但由于代码基于2.6.10内核,部分内核API较老,导致在2.6.35-30等较新内核上编译不能通过,由于工作需要,特花了一段时间进行整理,本篇文章对示例源码中的第一个驱动程序SCULL进行整理,供各位同仁参考:1、修改Makefile的第24行:   如果是基于PC,则KER

2011-12-26 14:03:35 1007

原创 linux驱动程序开发上面例子pipe.c不能在内核2.6.35加载的原因

caoyin-Lenovo:~/LDD/6$make出现下列错误> drivers/char/rtc.c:271:error: 'TASK_INTERRUPTIBLE'undeclared (first use in this function)> drivers/char/rtc.c:271: error: (Each undeclared identifie

2011-12-26 12:13:17 1527

转载 并发和竞态(实践篇)

1. complete.c 只是一个简单的字符驱动,但是我加进去了completion来同步读写操作#include #include #include /* everything... */#include /* size_t */#include #include MODULE_AUTHOR("victorsummer");MODULE_LICENSE("D

2011-12-26 08:44:45 449

转载 并发和竞态(理论篇)

1. 信号量信号量是为了解决共享资源问题而生的,通过著名的P/V操作可以获取和释放信号量,只有获得信号量的线程才可以访问共享资源,从而防止竞态的发生。其中P操作有三种情况:void down(struct semaphore *sem); // 如果信号量可以获得,信号量减一; 如果信号量不可以获得则阻塞进程并不可中断int down_interruptible(struct se

2011-12-26 07:49:39 440

原创 QtCreater 怎么打开以前建的projcect的问题

用qtcreator打开一个*.pro文件,即可将项目导入进来。

2011-12-22 20:29:37 1241

原创 linux下运行程序后出现段错误的原因和解决案例

查了不少资料,好多都说是:地址错误,即你使用了没有声明的地址。一 一个经典的例子:#includecopyString(char *p1,char *p2) {  while(*p1!='\0') {  *p2=*p1;  p1++;  p2++;  }  *p2='\0';}int main() {  char *a="I am a teacher

2011-12-22 09:16:59 8838 4

原创 Linux下Qt Designer 程序设计步骤详解

1、新建文件夹 gotocell。     2、打开qt designer。点击“应用程序”-“编程”-“Qt Designer”;或者在终端里输入命令:designer。     3、选择“File”--“New”,选择“Widget”,然后“Create”。     4、拖入“PushButton” 和“Label”。     5、保存为gotocell.ui ,然后关闭 qt

2011-12-21 17:29:12 7436 1

转载 字符设备驱动程序(理论篇)

1. 设备编号 "主设备号标识设备对应的驱动程序" 而 "次设备号用于正确确定设备文件所指的设备"(LDD3 p48)也就是说:主设备号对应驱动程序;次设备号对应使用同个驱动程序的设备;一般一个驱动程序可以被多个设备共享 一个主设备号和一个次设备号 合在一起 可以唯一确定一个设备文件,Linux内核使用一个叫做dev_t的类型来保存主设备号和次设备号,我们称dev_t类型的数据

2011-12-21 14:29:35 766

原创 字符驱动程序(实践)

1. scull.h#ifndef _SCULL_H_#define _SCULL_H_#ifndef SCULL_MAJOR#define SCULL_MAJOR 0 /* dynamic major by default */#endif#ifndef SCULL_NR_DEVS#define SCULL_NR_DEVS 4 /* scull0 through s

2011-12-21 14:26:59 642

原创 QT的信号与槽机制介绍

从QObject或其子类(例如Qwidget)派生的类都能够包含信号和槽。当对象改变其状态时,信号就由该对象发射(emit)出去,这就是对象所要 做的全部事情,它不知道另一端是谁在接收这个信号。这就是真正的信息封装,它确保对象被当作一个真正的软件组件来使用。槽用于接收信号,但它们是普通的对 象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且,对象并不了解具体的通信机制。你可以将很多信号与单

2011-12-20 14:27:21 904

原创 Qt4书中第一个例子,找不到QApplication头文件的问题解决

在做《C++ GUI Programming with Qt 4》书中的第一个例子时就被卡到了。Qt版本为4.2.0。程序源码:复制代码#include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLa

2011-12-20 09:18:17 11998 2

原创 Linux设备驱动程序学习笔记之信号量和互斥体

一个信号量(semaphore: 旗语,信号灯)本质上是一个整数值,它和一对函数联合使用,这一对函数通常称为P和V。希望进入临届区的进程将在相关信号量上调用P;如果信号量的值大于零,则该值会减小一,而进程可以继续。相反,如果信号量的值为零(或更小),进程必须等待知道其他人释放该信号。对信号量的解锁通过调用V完成;该函数增加信号量的值,并在必要时唤醒等待的进程。当信号量用于互斥时(即避免多个进程

2011-12-19 14:22:45 2175

原创 linux驱动程序开发的简单休眠

linux最简单的休眠方式是wait_event(queue,condition)及其变种,在实现休眠的同时,它也检查进程等待的条件。四种wait_event形式如下:wait_event(queue,condition);/*不可中断休眠,不推荐*/wait_event_interruptible(queue,condition);/*推荐,返回非零值意味着休眠被中断,且驱动应返回-ER

2011-12-19 14:14:51 1087

原创 spinlock,mutex,semaphore,vitical section的作用与区别

Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访问。Binary

2011-12-19 11:37:55 1612 1

原创 C语言中Static的作用详述

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。  (1)先来介绍它的第一条也是最重要的一条:隐藏。  当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。  下面是a.c的内容:  char a = 'A'; // global v

2011-12-17 09:05:00 840

原创 linux下tree、命令的用法及实现代码

Linux下有这样一个命令,可以把当前目录下的所有文件和子文件以tree的方式显示出来,看下效果[www.linuxidc.com@localhost test]$ tree  .  |-- A  |-- B  |-- C  `-- test2      |-- D      |-- E      `-- F    3 directories, 4 files  [crazybaby@

2011-12-16 08:05:16 3311

转载 华为开放式变局:竞争对手瞄准思科和谷歌

11月29日,华为公司面向全球发布了云计算战略及端到端的解决方案。伴随着这一新战略的出台,华为公司将一改过去只做运营商市场的历史,将企业市场和个人用户视为新的增长点。此后,华为公司将不再单纯地出售电信设备,也将面向企业用户出售云计算解决方案,并将使个体网民通过网上支付的方式成为华为的新客户。同时,华为将打破多年的封闭式系统格局,向开发者提供标准化接口,构建开放式生态链。这是华为公司成立22

2011-12-14 23:52:52 1152

转载 半导体产业:2011年开启新一轮起跑

包括半导体、平板显示、光伏、印制电路等在内的我国大半导体产业在过去十年取得了令世人瞩目的巨大成就,被誉为产业发展的“黄金十年”。而2011年则被业界看做是开启新一轮增长的起跑年,在产业创新升级引领下,我国大半导体产业将在“十二五”时期获得飞速发展。   2010年我国大半导体产业继续强劲复苏,增长速度领跑全球。“从2006年起中国的印制电路和电子电路行业的销售额始终保持世界第一。2010年我国

2011-12-14 23:27:12 1410

转载 中国半导体封装产业长期看好

球半导体产业增速放缓      2009年由于全球金融危机,半导体产业滑入低谷,全球销售额2263亿美元。2010年半导体市场状况非常良好,呈现非常强劲的成长。根据SIA的最新报告,2010年全球半导体产业销售增长31.8%,市场达到2983亿美元。SIA预测全球半导体产业将由10年的快速暴发恢复到平稳成长,销售额在2011年增长6.0%,市场达到3187亿美元,2012年增长3.4%,市场达到3

2011-12-14 23:21:06 1930

转载 今年全球半导体销售额将增1.3% 首破3000亿美元

据华尔街日报中文版报道,半导体产业协会(Semiconductor Industry Association)说,2011年全球半体导销售额将达到3,020亿美元,较2010年增长1.3%,同时也是第一次达到3,000亿美元这个关口。半导体产业协会会长图希(Brian Toohey)说,虽然今年全球经济环境充满挑战,亚洲的生产也受到了自然灾害的影响,但半导体产业还是展示了惊人的抗打击能力;

2011-12-14 23:19:59 442

转载 国内手机应用开发者6成亏损 广告或是突破口

导语:移动互联网喧嚣背后掩盖不住不赚钱的尴尬,在众多的盈利途径中广告无疑是可以最快见效的一种方式,并在产业发展早期扮演重要角色。在产业乱象和资本趋紧的背后,如何赚取广告或许是移动互联网的利益相关者广告联盟、渠道、开发者最需要思考的问题。腾讯科技讯(雷建平)12月14日消息,国内某Androidn渠道商小王拥有巨大用户,不过,让小王苦恼的不光是自身盈利的问题,也包括整个行业现状,如果移动互联

2011-12-14 21:56:34 1571

原创 Linux 下垃圾清理工具 BleachBit

很多刚刚接触Linux的人都听过这样的一种说法:Linux的文件系统比Windows的要优秀,不会产生碎片,对于长时间运行的服务器来说尤为重要,而且Linux系统本身也不会像Windows一样产生大量的垃圾文件。且不说这个观点是否正确,我们先看看所谓的一些垃圾文件包括什么:cache,history,logs,cookies,temporary files等等。谁都无法保证Linux下面没有这些东

2011-12-14 14:24:26 11964

原创 抢占式内核与非抢占式内核的区别

内核抢占(可抢占式内核):即当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。非抢占式内核:高优先级的进程不能中止正在内核中运行的低优先级的进程而抢占CPU运行。进程一旦处于核心态(例如用户进程执行系统调用),则除非进程自愿放弃CPU,否则该进程将一直运行下去,直至完成或退出内核。抢占式内核的意义:首先,这是将

2011-12-13 21:26:33 14152

原创 linux下DNS详解及应用之三

DNS:domain name system递归查询:进行一次查询就能得到最终结果迭代查询:需要进行多次查询,才能得到最终结果互联网上的应用方式一般是:本地递归,互联网部分迭代。所有DNS都不知道其他DNS在哪里,但都知道根在哪里,本地主机向本地DNS递归,本地DNS出去迭代查询后向本地返回最终结果。DNS常见的记录类型:  A记录:  由主机名解析IP地址  PTR记

2011-12-13 12:18:44 3576

原创 linux下DNS详解及应用二

一、Linux 下主要DNS配置文件Linux 下主要DNS配置文件见表一、二、三:表-1 DNS主要配置文件文件名称中文名称作用/etc/hosts主机的一个列表文件包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS网络名称服务器之前,/

2011-12-13 12:14:44 3009 2

原创 linux下DNS详解及应用一

一 DNS的应用范围    使用主机名标识一台主机,也可以使用IP地址标识。人们更愿意使用便于记忆的主机名标识符,而路由器则只愿使用长度固定民有层次结构的IP地址。为调解这两种不同的偏好,我们需要一个把主机名转换成IP地址的目录服务。这就是因特网的域名系统(Domain Name System,DNS)的主要任务。DNS既是一个在由名称服务器主机构成的层次结构中实现的分布式数据库,又是一个允许

2011-12-13 09:08:24 1722

原创 linux不能上网的网络配置

<!--@page {margin:2cm}pre.western {font-family:"DejaVu Sans"}pre.cjk {font-family:"DejaVu Sans"}p {margin-bottom:0.21cm}-->sudogedit /etc/resolv.conf# Generated by NetworkMa

2011-12-12 19:58:43 1222

原创 关于 fatal error C1001: INTERNAL COMPILER ERROR

1、运算符重载时遇到以上错误代码解决方法:将#include 改成 #include然后去掉 using namespace std;编译即可通过!或者你要前向声明类,然后声明友元函数(注意不要加friend),也可以顺利通过编译!或者你打上vc6.0的sp6补丁就可以了!2、如果你在用 VC6 编一个规模较大的工程,如果你在用 VC6 编译一个用到了模板的工程

2011-12-12 16:40:03 5652 1

原创 电脑经常自动关机解决方案二

一般引起系统不定期重启和关机的故障主要有下面几个原因:一.首先我们要处理掉一个可能性到"我的电脑按"右鍵-->属性-->高级-->按下"启动及修复"-->把下面"系统失败"那框框的三个选项取消勾选.当把这三个选择取消后.能解决大部分人的问题哦.二.如果自动关机.并出现对话框的话.极有可能是病毒.解决办法:杀毒.三.WINDOWS启动程序出错,果WINDOWS在默认状态下启动时有某个程序运行出现错误

2011-12-12 13:43:57 1839

原创 电脑经常自动关机的系统解决方案

原因:(1)一般有操作系统过载,软件设定自动重启以达到优化的目的,但一般家庭用户很少出现类似情况。          (2)电源API管理模块出现故障,或电源本身出现故障,当系统载荷过大致使虚拟内存剧增,硬盘和CPU载荷加速和过重的时候,电源因故障无法承受电压增大的状况,导致自行断电停机。解决办法:首先建议增大内存,其次在电脑关机后,看看电源是否出现过热,异味情况出现如有请更换大功率高质量

2011-12-12 13:29:23 1772

转载 成功并不像你想象的那么难

成功并不像你想象的那么难  如果我们象重视生命一样重视成功,那我们就一定能成功。  成功并不像你想象的那么难  人没有失败就不会成功。  如果你怕失败,你就是个失败者。  什么样的选择决定什么样的生活。今天的生活是由三年前我们的选择决定的,而今天我们的抉择将决定我们三年后的生活。我们要选择接触最新的信息,了解最新的趋势,从而更好的创造自己的将来。  在成功者眼中,只会看到成

2011-12-12 10:46:32 1500

原创 在对话框上加载图标或者位图

加载图标  CPaintDC dc(this); // device context for painting  HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON1);  if (hIcon && hIcon!=(HICON)-1)   dc.DrawIcon(10,10,hIcon);加载位图 CPaintDC dc(this);/

2011-12-12 10:37:22 904

转载 前20名编程语言排行

2011-12-12 09:35:40 802

转载 Linux液晶屏驱动开发

(转自 http://imhongyu.com/development/development_linux/developmentdoc_linux/linuxdocID52.asp)      随着高性能嵌入式处理器的普及和硬件成本的不断降低,尤其是arm 系列处理器的推出,嵌入式系统的功能越来越强。单色LCD也因为色彩单调,存储信息小,处理速度慢而不能符合人们的需求。

2011-12-10 07:57:27 988

转载 SDK,API和DLL的概念

SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。   SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API 的一些

2011-12-09 10:11:45 1106 1

转载 BMP位图格式详解

位图格式 BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。它一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。在系统中以BMP为扩展名保存。  打开Windows的画图程序,在保存图像时,可以看到三个选项:2色位图(黑白)、16色位图、256色位图和24位位图。 现在讲解BMP的4个组成部分:1.文件头

2011-12-08 21:40:28 1501

原创 GlobalAlloc、GlobalLock和GlobalUnLock详解

调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。  GlobalAlloc申请的内存分两种,一种是GMEM_FIXED,另一种是GMEM_MOVEABLE。两者的差别只要在于GMEM_MOVEABLE类型的内存操作系统是可以移动的,比如堆中有好几块小内存,当再申请一大块内存时,操作系统会移动GMEM_MOVEABLE类型的内存来合并出一大块。正因为GMEM_MOVEABLE

2011-12-08 21:28:26 9658

程序员实用算法超实用的经典教材加实例

本书重点关注的是立即实用的代码,算法,可移植性和操作性比较强

2011-06-20

原版英文教材《Beginning SQL》作者Paul Wilton and John W. Colby

About the Authors Paul Wilton After an initial start as a Visual Basic applications programmer at the Ministry of Defense in the U.K., Paul found himself pulled into the Net. Having joined an Internet development company, he spent the last three years helping create Internet solutions and is currently working on an e-commerce Web site a major British bank. Paul’s main skills are in developing Web front ends using DHTML, JavaScript, VBScript, and Visual Basic and back-end solutions with ASP, Visual Basic, and SQL Server. Currently, Paul is working on new Web-based application that will hopefully make him millions. . . well, thousands at least! Paul Wilton contributed Chapters 1–9 and Appendixes A, B and C to this book. John W. Colby John Colby is an independent consultant who has specialized in Access development since 1994. He designed databases for companies in the U.S., Mexico, Canada, and Ireland. John is past president and current board member of Database Advisors, Inc. (www.databaseAdvisors.com), a not-for-profit organization dedicated to providing fellow developers with a place to discuss Access, SQL Server, Visual Basic, and other topics relative to modern database applications development. Database Advisors also allows developers to showcase their talents by sharing databases, wizards, and various code packages. John lives in northwestern Connecticut with his wife and two small children. He enjoys music, travel, all things computers, and he dreams of working from his laptop while enjoying travel with his family. John W. Colby contributed Chapters 10–13 to this book.

2010-12-20

数据库基础英文原版 作者Abiteboul

数据库领域的经典教材,英文原版,高清PDf。英文名《Foundations of Databases》

2010-12-20

空空如也

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

TA关注的人

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