- 博客(29)
- 资源 (24)
- 收藏
- 关注
原创 内核双向链表list.h中的list_entry
内核双向链表list.h中的list_entry定义:#define list_entry(ptr, type, member) container_of(ptr, type, member)程序注释为:/** * list_entry - get the struct for this entry * @ptr: the &struct list_head p
2011-12-31 17:31:11 641
原创 MySQL安装指南
安装MySQL sudo apt-get install mysql-server 这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。 配置MySQL 注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:默认的MySQ
2011-12-31 13:00:55 386
原创 ubuntu下安装QT
在Terminal中输入:sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator qt4-doc 这个是帮助文档 qt4-qtconfig Qt的配置工
2011-12-31 12:24:23 400
原创 getopt使用方式(续)
引言在早期的 UNIX® 中,其命令行环境(当时的唯一用户界面)包含着数十种小的文本处理工具。这些工具非常小,通常可很好地完成一项工作。这些工具通过较长的命令管道链接在一起,前面的程序将其输出传递给下一个程序以作为输入,整个过程由各种命令行选项和参数加以控制。正是 UNIX 的这方面的特征使其成为了极为强大的处理基于本文的数据的环境,而这也是其在公司环境中的最初用途之一。在命令管道的一端输
2011-12-29 09:31:32 493
原创 getopt 使用
getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include extern char *optarg; //选项的参数指针 extern int optind, //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int opterr, //当opterr=0时,get
2011-12-29 09:26:49 473
原创 VIM快捷键
vim是一个多模式的编辑器。就目前来看,主要有以下几个主要模式。 1.通常模式(n) 在其它任何一个模式下,用ESC或者 ctrl+c 键可以退到通常模式。 2.插入模式(i) 在这个模式下,vim像一个常见的编辑器.在通常模式下,用i或者a可以进行本模式,当然,还有一些其它命令也可以。 3.可视模式(v) 在这个模式下,可以使用hjkl进行选择.然后进行copy,paste或者
2011-12-28 14:52:46 542
原创 socket accept失败
原因很简单:connfd = accept(listenfd,(sockaddr *)&clientaddr,&clilen);、中的第三个参数,没有初始化。而传递进accept时,估计给判断失败了。初始化一下:socklen_t clilen= sizeof(struct sockaddr);
2011-12-27 20:13:07 4535
原创 send,recv,sendto,recvfrom
send函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参
2011-12-27 19:05:29 624
原创 ubuntu下解决pdf乱码问题
一半情况下,用自带的阅读器看PDF是有乱码的,也就有人提示安装sudo apt-get install xpdf-chinese-simplified来解决,但是偶尔也有人(跟我一样)安装了xpdf-chinese-simplified,还是有乱码。嘿嘿。那么就按照下面的办法来吧!1.在下载poppler-data,解压2.在终端执行:cd /解压路径/poppler-data-0
2011-12-27 12:46:44 844
原创 GCC扩展
GCC扩展分类: 内核学习 LinuxC语言2011-12-06 11:3647人阅读 评论(0)收藏举报view plainprint?"font-family: Arial, Verdana, sans-serif; white-space: normal; ">转自候佩CSDN博客,地址:http://blog.csdn.net/mydo/ar
2011-12-26 21:11:49 887
原创 深入解析C语言声明
如果说C语言声明很简单的人不是牛人就是还没入门。本文来讲解C语言的声明的一些基本内容,很多内容参考《c专家编程》。首先由一个最简单的问题引入,你知道 int * p[5] 和 int (*p)[5] 的区别在哪里吗?把后面的答案遮到,想想。也许你知道反正一个是含有五个指向整型的指针元素的指针数组,另一个是指向一个拥有5个整型元素的数组的指针,具体呢?int *p[5]是一个含有五个整型指针的数
2011-12-26 21:00:09 515
原创 git配置
git config --global user.name "liangxiao zhang"git config --global user.email "zhangliangxiao@163.com"git config --global alias.st statusgit config --global alias.ci commitgit config --global
2011-12-26 20:33:56 737
原创 C语言中的指针之回调函数
C语言中的函数也有自己的入口地址。毕竟对于CPU来说,函数只不过是一组有序的内存段。只要按步就班的执行即可。 函数的入口地址也可用指针来操作,这便是回调函数的本质。说完本质,应该说现象了,毕竟本质一般都是简单的,现象却是复杂的。1,适用场景介绍分析 首先调用者,就是上层写程序的人,要写一个函数接收下层传过来的数据。(这里面所谓的上层下层是指人人之间的团队合作的上层下
2011-12-26 16:11:01 721
原创 ubuntu ibus下安装极点五笔
我是极点五笔的忠实用户,因此要在ubuntu下bus下安装极点五笔才爽。 命令如下 sudo wget http://www.xiit.cn/wp-content/uploads/2011/03/vissible-ibus.tar.gz tar -zxvf vissible-ibus.tar.gz sudo cp vissible
2011-12-23 10:41:39 1013 1
原创 C语言中的指针之数组和字符串
C语言最大的特色便是指针的引用。很遗憾,指针一直是我的弱点。如果这么算起来的话,那么我应该算是不懂C语言的人。 工作这么多年,说起这个还是很惭愧的。 C语言中的指针引用,最让人疑惑(或者是我最疑惑)便是字符串与数组指针的引用。 定一个字符串:char *ptr = "I am shamed".这种做法是正确的。 因为字符串"I am shamed"把头指针给了ptr
2011-12-23 08:55:49 735
原创 链表的反转
题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。struct ListNode{ int data; ListNode* next;};分析:首先这是一个单向链表的反转。其次反转后的链表的头变为尾,尾变为头。要实现此功能,就假设当前节点cur,前节点prev,下一个节点next.先看当前成员cur,它中的节点指针,要
2011-12-22 17:03:10 549
原创 ubuntu下,thinkpad触摸板关闭方法
thinkpad的触摸板过于大,在操作时老是碰到触摸板。windows下有官方驱动。 但是ubuntu下却没有。 操作方法如下: 1,终端操作sudo rmmod psmouse 这个是禁用的sudo modprobe psmouse 这个是启用 此操作把左右键也关了。如果不想, 那就用第二种。 2,在软件中心中搜索"pointing-device"安装,
2011-12-21 19:03:29 7431
原创 cyress的68013有一个接地脚
cyress的68013有一个接地脚,必须要接地.不要以为可有可无,就不把其接地,如果不接地,将会出现很多奇怪的现象.相信我,我已经吃了很多亏了.在此记录一下.
2011-12-21 11:31:51 841
原创 ARM做为USB从设备的实现
ARM做为USB从设备的实现,在linux内核中有例程,很遗憾,不能直接拿过来用.主要有两方面原因:1,内核缺少一个头文件.#include/linux/usb/g_hid.h时间太久了,记得不太清楚.好像是这个文件.从网上down下来之后,扔到内核头文件里面即可.里面的内容为:/* * g_hid.h -- Header file for USB HID gadget
2011-12-21 11:17:33 6545
原创 ubuntu10.10下,手动更新firefox
从官网上下载最新的firefox,之后,解压。 依次输入sudo cp -r firefox /usr/lib/firefox-8.0.1sudo mv /usr/bin/firefox /usr/bin/firefox.oldsudo ln -s /usr/lib/firefox-8.0.1/firefox /usr/bin/firefox-8.0.1su
2011-12-19 14:45:39 720
原创 为什么链表初始化时,要用双重指针?
typedef DataType inttypedef struct Node{ DataType data; struct Node *next;}LNode,*PNode,*LinkList;int Initial(LinkList *h){ //参数为头结点指针的地址,也就是指针的指针 *h=(LinkList)malloc(sizeof(LNode)); //将申请的
2011-12-19 11:39:49 3754
原创 do while(0)的作用
do while(0)的作用基本有两种:1,省略掉多个goto语句,变为break. 在使用多个goto出错处理中,过多的goto语句,使程序可读性变差。用do while(0)可以简化一下。 说实话,上面这句话是抄的。因为do while(0)更多的用在宏定义中,在linux内核中,很少用do while(0)来实现出错处理。 do while(0)最多
2011-12-16 13:01:13 666
原创 linux下实现USB口的热插拔
目前要做一个在嵌入式平台上的USB口的热插拔事件。 经过我现在的分析总结目前有如下方法: 1,定时检查/proc/scsi/scsi文件 此方法只能在PC上,但在嵌入式平台上不可用。 2,netlink方式 使用netlink.#include #include #include #i
2011-12-09 17:08:08 1855
原创 ubuntu 10.10下,make xconfig支持包
ubuntu 10.10下,make xconfig支持包,如下:apt-get install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt
2011-12-09 10:08:22 774
原创 把系统函数替换掉,就重新写一个与标准库相同的函数.
由于调用系统的库不行,那么要调用自己写的函数库,有多种方法.1,自己写一个sharelib2,使用preload我们写下面一段例程:/* 文件名:verifypasswd.c *//* 这是一段判断用户口令的程序,其中使用到了标准C函数strcmp*/ #include stdio.h> #include string.h> int main(int argc, c
2011-12-08 10:15:49 1718
原创 网口插拔,调用标准的socket IOCTL失败.
经过我对网口插拔的总结,发现很多平台不支持网口socket的ioctl失败.跟踪内核代码发现,内核中的网口驱动大多写的不完善.就拿最近用过的两个平台做例子吧.第一个平台,是在驱动检测到网口的插上或者拔掉之后,没有操作netif_carrier_o(dev)与netif_carrier_off(dev)第二个平台,就更过份了.直接就是没有把ioctl的结构体没有添加上去.例如,检
2011-12-08 09:42:30 1075
原创 程序运行一段时候,由于定时调用system产生段错误
在工程下,程序运行一段时间后,产生段错误.定位到是由于定时调用system产生的.经过无穷无尽的修改代码,一直不行.刚开始考虑是inline,后来又检查栈,之后又用进程,后来改用守护进程.在经过无穷无尽的探索后,最终仅仅是把system的库代码移植进工程里面,不调用库的system,而改为自己移植进的system,竟然好了.而且程序运行时,音频也不顿,性能也好了,百思不得其解.
2011-12-08 09:21:28 1305
原创 程序运行过程中段错误
最近在写代码时发现,程序在运行十几分钟之后出现段错误.根据我的经验,程序出现段错误的原因,是因为指针指向了不可预知的位置时,便会出现段错误.但是怎么查呢?段错误的产生在库函数上。不好查。根据我目前的了解,inline,栈不够用都有可能。
2011-12-01 13:41:43 1267
wifi_p2p_technical_specification_v1.1_content.
2014-03-12
Wi-Fi_Display_Technical_Specification_v1.0.0
2014-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人