container_of()宏的简要解析[转载!!!]

作者: 和c/c++相关 2010/11/16 简介:这是container_of()宏的简要解析的详细页面,介绍了和c/c++,有关的知识、技巧、经验,和一些c/c++源码等。 在学习linux驱动的过程中,遇到一个宏叫做container_of。 该宏定义在include/linux/kernel.h中,首先来贴出它的代码: 1. 439/** 2. 440 * container_of - cast a member of a structure out to the containing structure 3. 44...

作者: lxp-linux 发布时间: 01-06

拼图游戏(c语言)

这个拼图游戏是大一时的c语言课程设计: 说明: 游戏说明: 一、游戏难度: l--------------------------简单; m--------------------------一般; h--------------------------困难; 二、游戏玩法 按“↑”、“↓”、“←”、“→”使方块移动; 当结果为下列情况是获胜: 1、 1 2 3 4 5 6 7 8 2、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

作者: himdd 发布时间: 01-04

buffer I/O errors

Problem: Lots of buffer I/O errors appear in /var/log/messages and /var/log/dmesg, but the filesystems are still working fine. Solution: A server using a LUN, which is presented by a storage array through fabric channels, may show buffer I/O errors while the server is booting or commands such as fdisk and vgscan are being run. While these errors...

作者: xiawenzhao 发布时间: 01-04

内核调试方法之串口输出

最近遇到了内核调试的一个问题,先列举一下几种调试方式: 1.kdump来调试,信息太多了,不好分析。 2.屏幕输出来调试,可能会导致屏幕显示不是很全的问题。 3.netconsole调试,如果bug出在网络模块上,可能会导致最后的panic信息无法通过网络发送出去。 综合上述原因,如果只是需要少量的调试信息可以使用串口来调试。 串口调试的配置也比较简单: (1)修改grub.conf(或者...

作者: 瀚海书香 发布时间: 01-05

VC注释宏

其中包括全屏编辑、文件注释、类注释、函数注释四个宏。为了写程序更加方便,可以为这几个常用的宏添加快捷键。 Sub FullScreen() 'DESCRIPTION: 全屏编辑 ExecuteCommand "ToggleFullScreen" End Sub Sub AddHeadDesc() 'DESCRIPTION: 添加一个标准的头文件说明 ActiveDocument.Selection.StartOfDocument DefaultUserName = "mubai" Dim FileName FileName = ActiveDocume...

作者: wyangwo 发布时间: 01-04

nginx配合puppet实现大负载下的负载均衡

当client数量越来越多的情况下,但puppetmaster是无法满足需求的,会导致较高的失败率,类似如time out之类的,这时候就可以做成master群集。步骤如下: 1、相信到了这一步,基本的puppetmaster之类的包肯定都安装完毕了,做成集群还需要一个特殊的包:rubygem-mongrel,安装yum install rubygem-mongrel 2、编辑/etc/sysconfig/puppetmaster,添加下面2行 PUPPETMASTER_POR...

作者: serwei 发布时间: 01-05

位图排序

位图排序: 任意个(MAX_NUMBERS个) 0到固定值(MAX_VALUE)之间的数排序 时间复杂度O(n), 空间几乎是O(1),空间需求很低 假定int的长度是32位,即一个int可以编码32个数字(简单起见,一个bit代表一个数字,实际可以编码的范围就是unsigned int的最大值,但计算比较复杂), 那么0到n之间的数字就可以用最多n/32+1个整形表示,每个int的每个bit代表一个数。。 #include <stdio...

作者: donotblock 发布时间: 01-06

chown详解

指令名称 : chown 使用权限 : root 使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file... 说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管...

作者: leolzbing521 发布时间: 01-04

Linux环境下USB的原理、驱动和配置

随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题。 什么是USB? USB是英文Universal Serial Bus的缩写,意为通用串行总线。USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的类型 的设备。USB的发展已经超...

作者: thyman126 发布时间: 01-05

模拟鼠标事件的处理

板子上的USB接口坏掉了,为了重现有鼠标时的状态,现做一个模拟鼠标: input.h usbmouse.h struct mouse_my g_mt; int mouse_state; #define BUFFER 800 #define SERV_PORT 7838 void *read_uart_mouse(void *para) { int sockfd; //socklen_t len; socklen_t src_len; struct sockaddr_in servaddr, cliaddr; char msg[BUFFER]; sockfd = socket(AF_INET, SOCK_DGRAM, 0); ...

作者: willwwei 发布时间: 01-04