随笔 - 169,  文章 - 0,  评论 - 45,  阅读 - 225万
05 2012 档案
Linux struct file结构
摘要:struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * fu_list becomes invalid after file_free is called and queued via * fu_rcuhead for RCU freeing */ union { struct list_head fu_list; struct rcu_head fu_rcuhead; } f_u; struct path f_path;#define f_dentry f_path.dentry# 阅读全文
posted @ 2012-05-28 17:35 wanghetao 阅读(10045) 评论(0) 推荐(2) 编辑
Linux struct inode结构
摘要:*索引节点对象由inode结构体表示,定义文件在linux/fs.h中*/struct inode { struct hlist_node i_hash; /* 哈希表 */ struct list_head i_list; /* 索引节点链表 */ struct list_head i_dentry; /* 目录项链表 */ unsigned long i_ino; /* 节点号 */ atomic_t i_count; /* 引用记数 */ umode_t i_mode; /* 访问权限控制 */ unsi... 阅读全文
posted @ 2012-05-28 17:33 wanghetao 阅读(8909) 评论(0) 推荐(2) 编辑
标准C的标记化结构初始化语法
摘要:在标准C中(C89)结构标准初始化是用{}来实始化,在C99的版本,采用了采用可读性更强的标记化实始化,这在LINUX内核和驱动很为常见。这是ISO C99的用法C Primer Plus第五版中相关章节:已知一个结构,定义如下 struct book { char title[MAXTITL]; char author[MAXAUTL]; float value;}; C99支持结构的指定初始化项目,其语法与数组的指定初始化项目近似。只是,结构的指定初始化项目使用点运算符和成员名(而不是方括号和索引值)来标识具体的元素。例如,只初始化book结构的成员value,可以这样做: stru... 阅读全文
posted @ 2012-05-28 16:37 wanghetao 阅读(3052) 评论(0) 推荐(3) 编辑
Linux中的file_operation结构
摘要:Character Device DriversThe file_operations Structure The file_operations structure is defined in linux/fs.h, andholds pointers to functions defined by the driver that perform various operations on the device. Each field of thestructure corresponds to the address of some function defined by the dri. 阅读全文
posted @ 2012-05-28 15:43 wanghetao 阅读(3109) 评论(0) 推荐(1) 编辑
全球前50大名站
摘要:数据来源:Alexa时间:2012年4月8日要点:前50家中,谷歌旗下网站占了14个(包括收购的Youtube和Blogger);百度排名从去年第六位上升到第五位;新浪的门户和微薄站了两个。按照浏览时间,facebook远远超过google。谷歌是第一个月独立访问两超过10亿的网站。说明:作为谷粉,我这篇文章是想说,虽然苹果马上6000亿了,虽然说FB要在纳斯达克IPO,融资50亿(谷歌当年是16.7亿);谷歌还是很牛的。*************************************************************************************** 阅读全文
posted @ 2012-05-28 12:25 wanghetao 阅读(826) 评论(0) 推荐(1) 编辑
Linux中进行模块操作的命令
摘要:Linux是基于模块的,所有的驱动都是模块化的:管理模块的命令:1、列出系统中所有已经加载的模块的大小与名称等:lsmod或者cat/proc /modulesty@tonylinux:~$lsmodModuleSizeUsedbyrfcomm402160l2cap262445rfcommbluetooth500204rfcomm,l2capppdev92200radeon1160001........ty@tonylinux:~$cat/proc/modulesrfcomm402160-Live0xf8dee000l2cap262445rfcomm,Live0xf8DB2000bluetoo 阅读全文
posted @ 2012-05-27 20:41 wanghetao 阅读(2190) 评论(0) 推荐(1) 编辑
STL中的lower_bound() 和 upper_bound()
摘要:C++ STL iterator lower_bound( const key_type &key ); iterator upper_bound( const key_type &key );函数作用 iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值> key的第一个元素。lower_bound()函数第一个版本: template< cl 阅读全文
posted @ 2012-05-22 21:39 wanghetao 阅读(9226) 评论(0) 推荐(0) 编辑
C++ pair的用法
摘要:1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。2 make_pair函数templatepair make_pair(T1 a, T2 b) { return pair(a, b); }很明显,我们可以使用pair的构造函数也可以使用make_pair来生成我们需要的pair。 阅读全文
posted @ 2012-05-22 20:08 wanghetao 阅读(7795) 评论(0) 推荐(0) 编辑
STL中的priority_queue
摘要:class templatepriority_queue<queue>Priority queuePriority queues are a type of container adaptors, specifically designed such that its first element is always the greatest of the elements it contains, according to some strict weak ordering condition.This context is similar to aheapwhere only t 阅读全文
posted @ 2012-05-22 16:32 wanghetao 阅读(2402) 评论(0) 推荐(1) 编辑
详解C中volatile关键字
摘要:volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;void test(){do1();while(flag==0);do2();} 这段程序等待内存变量flag的值变为1(怀疑此处是0,有点疑问,)之后才运行do2()。变量flag的值由别的程序更改,这个... 阅读全文
posted @ 2012-05-19 21:56 wanghetao 阅读(261) 评论(0) 推荐(0) 编辑
图的BFS与DFS的应用
摘要:1. BFS的应用图的BFS算法可以用来求从图中一个顶点到其余各个顶点的最短路径。如果对图中每个顶点都使用一次BSF,就可以求出从图中每个顶点到其余各个顶点的最短路径。2. DFS的应用2.1 拓扑排序DFS算法可以用来求一个有向无回路图的拓扑排序,算法的伪代码如下:从伪代码中可以看出,图中的各个节点是按完成时间 f 降序顺序排序的。然后依次输出排序后的结果就能得到一个拓扑排序。2.2 找出图中的所有强联通分支DFS算法也可以找出一个有向图的所有强连通分支。伪代码如下:该算法首先调用DFS(G)构造出一个深度优先搜索森林并球出了各个节点的完成时间f[u]。求图G的矩阵表示的转置矩阵GT,然后在 阅读全文
posted @ 2012-05-12 16:46 wanghetao 阅读(4354) 评论(1) 推荐(0) 编辑
DFS算法的实现
摘要:#graph.h头文件 1 #ifndef GRAPH_H 2 #define GRAPH_H 3 4 struct adjNode{ 5 int node; 6 struct adjNode *next; 7 }; 8 9 10 /*图的矩阵表示向邻接表表示的转换*/11 void matrixToAdjlist(int *matrix, adjNode *adjList, int n){12 int i, j;13 adjNode *tempNode;14 for(i=0; i<n; ++i){15 adjList[i].node... 阅读全文
posted @ 2012-05-12 12:23 wanghetao 阅读(7564) 评论(0) 推荐(2) 编辑
BFS算法的实现
摘要:今天我写了一个BFS(广度优先搜索)算法的程序,在此展示出来。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <vector> 4 #include <queue> 5 using namespace std; 6 7 const int max_dist=9999; 8 const int invalid_p=-1; 9 10 struct adjNode{ 11 int node; 12 struct adjNode *next; 13 }; 14 15 enum Color{w, 阅读全文
posted @ 2012-05-12 11:07 wanghetao 阅读(12089) 评论(0) 推荐(0) 编辑
程序员应具备的素质
摘要:程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立,到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足, 阅读全文
posted @ 2012-05-12 10:49 wanghetao 阅读(312) 评论(0) 推荐(1) 编辑
矩阵乘法的Strassen算法
摘要: 阅读全文
posted @ 2012-05-10 15:00 wanghetao 阅读(515) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示