学习频道
跟着梦的脚步走
从事Linux下的开发五牛,做过车载系统,PC机上的应用软件,底层驱动开发等!
展开
-
fork与vfork的区别
fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别:1. fork():子进程拷贝父进程的数据段,代码段vfork():子进程与父进程共享数据段2. fork()父子进程的执行次序不确定vfork保证子进程先运行,在调用exec或exit之前与父进程数据是共享的,在它调用exec或exit之后父进程才可能被调度运行。3. vfork 保证子原创 2011-11-16 21:59:17 · 470 阅读 · 0 评论 -
作文模板
2008年6月21日四级考试作文范文及此类讨论某一主题的利弊写作分析 此次作文难度适中,沿袭了往年的常考题型—argumentation型,讨论某一主题的利弊。本次题目recreational activities涵盖面宽,因此考生需要注意把话题缩小到某一个范围,对于大学生而言,对于网络上的娱乐活动可能更有话可说,所以可以把这个很泛的话题限制在网络娱乐活动。而对于网上活动的利弊想必同学原创 2012-03-26 11:57:45 · 611 阅读 · 0 评论 -
英语四级常考100个短语
英语四级常考100个短语1. at the thought of一想到…2.as a whole(=in general)就整体而论3.at will 随心所欲4.(be) abundant in(be rich in; be well supplied with)富于,富有 5.access(to) (不可数名词)能接近,进入,了解6.by accide原创 2012-03-26 11:55:01 · 1232 阅读 · 0 评论 -
英语小电影
1.《Friends》【这就不用说了,绝对是必看,9.8分】 2.《Everybody Loves Raymond》【24分钟的家庭喜剧,老实话,不好看,不能跟Friends比,但是它是典型的美国生活英语,比Friends里的有用,7.5分】 3.《Joey》【好笑还是很好笑的,但是没继续出下去,当然也是很不及Friends的,8.5分】 4.《Prison Break》【原创 2012-03-26 11:53:51 · 2146 阅读 · 0 评论 -
考前10天每日词汇冲刺
考前10天每日词汇冲刺:情感类1 overcome vt.战胜, 克服【例】overcome difficulties 克服困难2 annoy vt.使烦恼, 使恼怒【派】annoying a. 令人恼人的; annoyance n. 烦恼;annoyed a.颇为生气的3 despair vi.绝望; n. 绝望 【考】despair of 绝望原创 2012-03-26 11:31:38 · 5764 阅读 · 0 评论 -
英语短语
1 a [ei, ə, æn, ən] art.一(个);任何一(个);每一(个)2 abandon [ə'bændən] vt.离弃,丢弃;遗弃,抛弃;放弃3 abandon oneself to 沉溺于4 ability [ə'biliti] n.能力,本领;才能,才智5 able ['eibəl] a.能够…的,得以…的;有才干的6 aboard [ə'原创 2012-03-26 11:48:09 · 115291 阅读 · 1 评论 -
新四级冲刺需牢记的700核心词
新四级冲刺需牢记的700核心词转自:转1. alter v. 改变,改动,变更2. burst vi. n. 突然发生,爆裂3. dispose vi. 除掉;处置;解决;处理(of)4. blast n. 爆炸;气流 vi. 炸,炸掉5. consume v. 消耗,耗尽6. split v. 劈开;割裂;分裂 a.裂开的7. spit v原创 2012-03-26 11:29:11 · 4709 阅读 · 0 评论 -
短语100句
1. Typical of the grassland dwellers of the continent is the American antelope, or pronghorn. 美洲羚羊,或称叉角羚,是该大陆典型的草原动物。2. Of the millions who saw Haley’s comet in 1986, how many people will live原创 2012-03-26 11:56:38 · 1454 阅读 · 0 评论 -
英语基础写作及翻译经典句荟萃
英语基础写作及翻译经典句荟萃1.A: In a word...总之,… In a word, money is something but not everything. 总之,金钱很重要,但它不是万能的. B: In brief/short, ...,简言之,…….1) In brief, we cannot please everyone all the tim原创 2012-03-26 11:40:06 · 5163 阅读 · 0 评论 -
600词汇过四级
600词汇过四级A1 abandon vt.抛弃,放弃abandon oneself to despair陷于绝望;abandon oneself to failures自暴自弃2 abrupt adj.唐突的,卤莽的(举止、言谈) an abrupt reply生硬的回答 3 absolute adj.绝对的,彻底的 enjoy翻译 2012-03-26 12:01:26 · 8915 阅读 · 0 评论 -
fedora 14 上安装 qt4 开发环境
方法一: 1.到官方网站下载安装包。官方推荐的是online版,因为这样可以自动升级(具体我不清楚)。不过个人体验觉得比下载offline要多花很多时间,因为online的是一个一个文件下载的,好像还没有多线程。每下一个文件都重连一次,当然慢咯。2.安照官网提示执行命令:chmod u+x Qt_SDK_Lin32_online_v1_1_4_en.run ./Qt_S原创 2012-03-13 09:17:16 · 2324 阅读 · 0 评论 -
使用函数指针访问private成员
#includeusing namespace std; //定义名字空间class FUN; //声明一个FUN类typedef void (FUN::*PFunc)(); //声明一个指向FUN的类函数PFunc()的指针 PFunc pF; //PF指针class FUN //类的定义{public:原创 2012-04-17 17:03:27 · 745 阅读 · 0 评论 -
变量 变量声明 定义
1)声明 告诉编译器这个名字的存在:变量名和函数名。2) 定义 分配存储空间,对于变量时分配变量所表示数据的大小,对于函数会分配生成函数代码所占的空间。3)声明和定义可以使在一起 如 int a;当编译器没有在前面发现a时,就声明和定义了a。4)声明可以有多处,而定义只能有一处,否则连接时会出现重复定义的错误。5)声明函数时,函数名不能和数据成员原创 2012-04-17 17:48:56 · 411 阅读 · 0 评论 -
vi中显示颜色
网络上很多都是去改.vimrc文件,我也试验过了,根本不行。一个方法:打开~/.bashrc 添加一行:alias vi='vim'就行了。不要忘了source .bashrc才起作用的。看看你的vi是不是带颜色了!原创 2012-04-16 21:12:41 · 606 阅读 · 0 评论 -
VS2010 C++ 操作Excel表格的编程实现
通过VC实现对Excel表格的操作的方法有多种,如:通过ODBC数据库实现,通过解析Excel表格文件,通过OLE/COM的实现。本文主要研究通过OLE/COM实现对Excel表格的操作。 本文源码的应用环境说明:Windows XP SP3Microsoft Visual Studio 2010Microsoft Office Excel 2007翻译 2012-04-12 18:10:29 · 1753 阅读 · 4 评论 -
引用 fatal error LNK1120: 2 unresolved externals解决办法_
VC++6.0进行编译与连接,下面的是书中第六章hello程序的连接时的错误,请各位帮忙看看!--------------------Configuration: HELLO - Win32 Debug--------------------Linking...nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external翻译 2012-04-09 20:43:05 · 3207 阅读 · 0 评论 -
软件工程师是否应该专注于技术
软件工程师是否应该专注于技术 一直从事软件开发技术工作的软件工程师们,很多人都有过这样的疑问:坚持从事软件开发工作是否有前途,是否应该在几年之后转管理或者市场等职位。 软件工程师的工作比较辛苦,经常加班;薪水水平虽说一般不低,但多数也不如从商者高;软件开发方面可发展的空间不大,到了一个瓶颈;等等这些原因都是软件工程师对未来的信心动摇的原因。翻译 2012-03-30 09:37:01 · 642 阅读 · 0 评论 -
ntsd用法
最近要用到ntsd,在网上找了几个文章都是说用它来结束进程什么的,其实ntsd是个调试器,功能强大的很呢! ntsd命令详细的帮助信息:ntsd自身是一个基于内核的调试器程序。他有很多隐藏功能,都是system权限,可是人们通常使用的只有一个或者数个参数,如 ntsd -c q -p ,ntsd -c q -pn.大家都知道这个命令到底有多强大,我现在把其他的参数给大家介绍以下翻译 2012-03-29 17:33:39 · 738 阅读 · 0 评论 -
fedord 14配置
这里假设Fedora 12/13/14业已安装完成,并能联入网络,那么接下来的基础办公和编程环境的配置过程可以走下面这个路线:1、配置sudo file;首先,打开终端,获得root环境: su -,并输入root帐户密码。然后: visudo ,在root ALL=(ALL) ALL这一行下面空白行处按“A”键进入插入状态,插入一行和上面一行相似的行,只是root改为要加入s原创 2012-03-10 11:07:28 · 735 阅读 · 0 评论 -
英语词汇
a series of 一系列,一连串 above all 首先,尤其是 after all 毕竟,究竟 ahead of 在...之前 ahead of time 提前 all at once 突然,同时 all but 几乎;除了...都 all of a sudden 突然 all over 遍及 all over again 再一次,重新 all the time 一直,始终 all原创 2012-03-26 11:16:52 · 816 阅读 · 0 评论 -
英语写作中100个使用频率较高的词语搭配
英语写作中100个使用频率较高的词语搭配1.经济的快速发展 the rapid development of economy2.人民生活水平的显著提高/ 稳步增长 the remarkable improvement/ steady growth of people’s living standard3.先进的科学技术advanced science and technology原创 2012-03-26 11:15:39 · 506 阅读 · 0 评论 -
file_operation(文件操作) file(文件) inode(节点)区别
file_operation(文件操作)file(文件)inode(节点)file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了设备驱动程序的工作。在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提原创 2011-12-31 11:05:40 · 810 阅读 · 0 评论 -
struct file_operations详解
在写底层驱动程序的时候struct file_operations是一个很重要的结构体,这个结构是字符设备驱动程序的核心,当应用程序操作设备文件时所调用的open、read、write等函数,最终会调用这个结构中指定的对应函数。struct file_operations是一个字符设备把驱动的操作和设备号联系在一起的纽带,是一系列指针的集合,每个被打开的文件都对应于一系列的操作,这就是file原创 2011-12-31 10:54:26 · 970 阅读 · 0 评论 -
Linux字符设备驱动程序的编写框架
一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核传送到硬原创 2011-12-29 10:02:55 · 694 阅读 · 0 评论 -
字符驱动编写
11.4.3 一个字符设备驱动程序的实例 下面我们通过一个实例对字符设备以及编写驱动程序的方法进行说明,通过下面的分析我们可以了解一个设备驱动程序的编写过程以及注意事项。虽然这个驱动程序没有什么实用价值,但是我们也可以通过它对一个驱动程序的编写特别是字符设备驱动程序有一定的认识。一个设备驱动程序在结构上是非常相似的,在 Linux 中, 驱动程序一般用C语言编写,有时也支持一些汇编和C原创 2011-12-29 10:24:19 · 541 阅读 · 0 评论 -
字符设备驱动程序
一、主设备号和此设备号主设备号表示设备对应的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。内核用dev_t类型()来保存设备编号,dev_t是一个32位的数,12位表示主设备号,20为表示次设备号。在实际使用中,是通过中定义的宏来转换格式。(dev_t)-->主设备号、次设备号MAJOR(dev_t dev)MINOR(d原创 2011-12-29 09:25:32 · 484 阅读 · 0 评论 -
linux字符cdev和inode的联系
好长时间没怎么看书了,最近把字符设备驱动部分又复习了一下,写个笔记. Char Device Driver 相关数据结构: struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list;翻译 2011-11-24 16:30:09 · 495 阅读 · 0 评论 -
ioctl函数
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl,所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率翻译 2011-11-24 16:45:12 · 396 阅读 · 0 评论 -
字符设备驱动与块设备驱动的区别
系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块。最常见的块设备是硬盘,除此以外,还有软盘驱动器、CD-ROM驱动器和闪存等等许多其他块设备。注意,它们都是以安装文件系统的方式使用的——这也是块设备的一般访问方式。 另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问,像串口和键盘就都属于字符设备。如果一个硬件设备是以字符流原创 2011-11-21 22:08:01 · 2824 阅读 · 0 评论 -
信号量介绍
一.什么资源是临界资源?临界资源是一次仅允许一个进程使用的共享资源二.临界区域是什么意思?什么是临界代码?每个进程中访问临界资源的那段程序称为临界区,或者叫临界代码。三.临界区或者临界代码有什么特点:每次只准许一个进程进入临界区,进入后不允许其他进程进入。四.信号量是解决是什么问题的?解决在任一时刻只有一个执行线程访问的临界区的代码(即临界代码),防止多翻译 2011-12-31 16:52:00 · 583 阅读 · 0 评论 -
进程上下文和中断上下文
内核可以处于两种上下文:进程上下文和中断上下文。在系统调用之后,用户应用程序进入内核空间,此后内核空间针对用户空间相应进程的代表就运行于进程上下文。异步发生的中断会引发中断处理程序被调用,中断处理程序就运行于中断上下文。中断上下文和进程上下文不可能同时发生。运行于进程上下文的内核代码是可抢占的,但进程上下文则会一直运行至结束,不会被抢占。因此,内核会限制中断上下文的工作,不允许其执行如下操翻译 2011-12-31 17:05:18 · 442 阅读 · 0 评论 -
英语词汇
abide by,conform to , comply with 遵守 (be) abundant in(be rich in) 富于,富有 of one’s own accord(willingly)自愿地 ,主动地 in accordance with (according to) 依照,根据 in terms of 根据 take…into account(take原创 2012-03-26 11:25:26 · 498 阅读 · 0 评论 -
四级词汇重点词辨析
四级词汇重点词辨析 看系列:see behold watch look regard view glance gape peep peer这些词在四级考试中都有“看、注视”的意思:see 看,看见。最通用的一个次。可以指不经意的看到;如:As he stood there, he saw tow men enter the bar.他站在那原创 2012-03-26 11:14:27 · 1886 阅读 · 0 评论 -
QT的几个部件(2)
(1)QLabel(头文件qlabel.h)QLabel部件是一个简单的窗口,能够显示一个字符串。QLabel类有三个被定义的构造函数,如下所示QLabel(QWidget *parent,const char *name=0,WFlags f=0)QLabel(const QString &text,QWidget *parent,const char *name=0,WFlags翻译 2012-01-05 16:34:15 · 616 阅读 · 0 评论 -
struct file_operations
一、定义:struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:721struct file { 722 /* 723 * fu_list becomes invalid after file_free is called and queued via翻译 2012-01-01 01:44:06 · 1250 阅读 · 0 评论 -
驱动中使用class_device_create()报错的原因,自动创建设备节点
之前写的字符类设备驱动,没有自动创建设备节点,因为只使用了register_chrdev()函数,只是注册了这个设备。然后在系统启动后,就要自己创建设备节点mknod,这样虽然是可行的,但是比较麻烦。于是想在__init函数里面,自动创建设备节点。 经过查阅资料,发现创建设备节点使用了两个函数 class_create()和class_device_create(),当然在__exit翻译 2012-01-01 04:06:38 · 1543 阅读 · 0 评论 -
LINUX字符设备驱动程序实例
我是通过UBUNTU10.10测试该驱动程序的,系统内核为linux-2.6.35-22(可使用uname -r 命令来查看当前内核的版本号)下载安装LINUX内核,需要下载和本机一样版本的内核源码。1,安装编译内核所需要的软件并编译内核(注:我在root下执行,如果其中有问题,换到普通用户下用sudo试试)apt-get install build-essential autocon翻译 2012-01-01 01:03:09 · 2434 阅读 · 3 评论 -
Linux进程状态解析
Linux进程的几种状态Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应 CPU的可执行队列中(一翻译 2011-12-31 16:27:35 · 402 阅读 · 0 评论 -
Linux内核中等待队列的几种用法
Linux内核里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,下面简单总结了等待队列的四种用法,希望对读者有所帮助。1. 睡眠等待某个条件发生(条件为假时睡眠): 睡眠方式:wait_event, wait_event_interruptible 唤醒方式:wake_up (唤醒时要检测条件是否为真,如果还为假则继续睡眠,唤醒前一定要把条件变原创 2011-12-31 16:12:42 · 428 阅读 · 0 评论 -
Eclipse运行时提示failed to create the java virtual machine 如何解决
Eclipse运行时提示failed to create the java virtual machine 如何解决几经周折终于找到了解决办法,特与朋友们分享,方法如下: 找到eclipse目录下的eclipse.ini,可以看到如下内容:-startupplugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar--launch原创 2012-04-21 23:09:19 · 869 阅读 · 0 评论