自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张亮校的专栏

向高手学习,点滴记录,大部分博客为转载.

  • 博客(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

原创 shell脚本的反引号

shell脚本的反引号,如果你懂脚本,那么就应该知道在键盘的什么位置。一般是与~号在同一个键上。可以看看。

2011-12-22 13:32:01 755

原创 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

基于STM32的串口服务器web功能实现

stm32上开发webserver的例程

2021-01-12

mediarecorder_camera.tgz

在tv或者box上,支持android的camera录视频,调用mediarecorder的方式录视频的apk demo.

2020-07-09

jvm_code-master.rar

深入理解java虚拟机 java高级特性与最佳实践 源码 学习交流

2019-10-23

wifi_p2p_technical_specification_v1.1_content.

wifi_p2p_technical_specification_v1.1_content.pdf wifi p2p标准协议文档

2014-03-12

Wi-Fi_Display_Technical_Specification_v1.0.0

Wi-Fi_Display_Technical_Specification_v1.0.0.pdf 标准

2014-03-12

unix网络编程(卷2)

unix网络编程(卷2),网络必看书籍.关于IPC的.

2013-01-29

sed&awk;中文版

sed&awk;(中文第二版),不用过多解释了吧.会linux的人必看之书籍.

2013-01-29

git培训文档

我自己用来给别人培训时写的git的培训文档。值得一下。里面涵盖了基本的知识点。适合入门的人用。

2013-01-24

USB2.0技术规范

USB2.0技术规范,详细的介绍了usb协议.

2013-01-16

UNIX 编程艺术

UNIX 编程艺术(中文版).unix的一本很好的学习书.

2013-01-16

串口工具SecureCRT

SecureCRT_5.0.5破解版.做嵌入式的,或者服务器上开发代码的.值得一下.

2012-12-28

播放器DawnLightPlayer代码

播放器源代码  DawnLightPlayer,值得学习呀.详细见我博客.

2012-09-29

unix(linux)环境网络高级编程

unix(linux)环境网络高级编程 linux 入门

2012-09-05

毕厚杰-新一代视频压缩编码标准H.264

很好的入门书籍,关于h.264的.值得一看.

2012-08-21

Windows WDM 设备驱动程序开发指南.pd

Windows WDM 设备驱动程序开发指南.关于怎么在windows下开发驱动。

2012-01-07

数组与指针的艺术.pdf

数组与指针的艺术.可以深入学习C语言。值得一下。

2012-01-07

The_C_programming_Language(中文版

The_C_programming_Language(中文版)的完整版。值得大家下载。

2012-01-07

VS入门教程

关于VS2008的入门教程,大家可以快速学习入门。

2012-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除