易截截图软件、单文件、免安装、纯绿色、仅160KB

linux中的list

Linux内核提供了list这个数据结构以及操作函数。这个数据结构在内核驱动中使用广泛,而且确实方便使用。为了详细了解这个数据结构的用法,方便以后使用,把这个数据结构里面的功能都试用了一次,清楚了很多。下面是实验程序和自己得出的使用方法,请高手多多指教。 Struct list_head { struct list_head *next, *prev ;}; List结构实际上是一个list_head结构构成的链表。如果想使用这个结构来构造自己的链表,只要把这个struct list_head结构嵌入到自己的结构体中,成为自己结构体的一个成员即可。整个list.h文件的函数都使用这个结构构成一个链表,而自己的结构体成员实际并不在链表上,但是list.h中使用container_of这个宏可以通过结构体中的struct list_head成员的地址来得到整个结构体的地址,这样就可以实现使用list.h文件中的定义实现自己的链表构造了。 list.h提供的函数构造的链表是有一个空头节点的。 如果在用户程序中使用这个结构的话,需要对这个文件做一些改动。主要是找不到如何将这个头文件直接安装到/usr/include目录下,只好直接拷贝。但是这个头文件中同时包含了另外的两个体系相关的头文件,一个是prefetch.h文件,这个文件提供perfetch这个函数用来针对特定的CPU体系做优化;另一个是asm/system.h这两个文件无法提供,只能不拷贝,将list.h中使用到这两个文件的部分直接拷贝到list.h文件中。主要是container_of宏(这个在kernel.h中;另外需要将所有的prefetch注释掉,否则无法链接通过。 LIST_HEAD(name):这个宏可以定义一个struct list_head结构体,并初始化结构体中的两个成员函数 LIST_INIT_HEAD( struct list_head *head) ;这个函数初始化给定的结构体,使的成员指向自己; List_add ( struct list_head *new , struct list_head *list );new是要添加到list链表中的节点;list是要添加到的链表中的一个节点,new这个节点会添加到这个节点后面。如果提供的list是一个链表的头节点,那么这个函数用来模拟一个LIFO的栈是不错的。 list_add_tail( struct list_head *new , struct list_head *list );和上面的函数一样,只不过是new的位置在list的前面。如果提供的list是一个链表的头节点,那么就是一个FIFO的队列。 list_del (struct list_head *entry , struct list_head *list );从链表中删除entry节点,并将entry节点的成员指针指向无效地址。 list_replace(struct list_head * new , struct list_head *old);用节


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

linux 下看pps

 
如何安装:
先把 Mingming 的 Launchpad PPA 添加到你的软件源:
将下面两行添加到 /etc/apt/sources.list/totem-pps.list
deb http://ppa.launchpad.net/portis25/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/portis25/ppa/ubuntu karmic main
在终端中执行下面的命令来获取上述 PPA 源的密钥。 ......

Linux 重启命令

----Linux 重启命令----
 
1、shutdown
2、poweroff
3、init
4、reboot
5、halt
 
 
*---具体说明---
 
shutdown
reboot
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部
工作过程是不同的,通过本文的介绍,希望你 ......

linux做网管

echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT ......

Linux用户管理

 一.添加用户:
su命令使用root权限
修改/etc/passwd,添加用户记录
pwconv让/etc/passwd和/etc/shadow同步
修改/etc/group
创建用户的主目录,并把用户启动文件夹复制到用户的主目录
cp -R /etc/skel /home/xxj
改变新增用户的属主和权限
chown xxj:xxj /home/xxj
ls -ld /home/xxj
chmod 700 /home/xxj
设 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号