自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 Vim配置(Linux 3.9)

https://github.com/dos5gw/vimrc" F1 list tags" F2 open quickfix | Shift-F2 close quickfix" F3 list buffers" F4 nerd-tree" F5 exec grep.vim | Shift-F5 GrepOptions" F6 exec vimgr

2014-01-08 14:31:59 1062 1

原创 用vundle管理vim插件 (win7)

(1)安装win版本的gvim:  http://www.vim.org/download.php比如安装到 路径F:\Program Files (x86)\Vim, 在此目录下新建bundle\vundle目录.(2)安装git(3) 安装vundle打开git shell, 输入:git clone https://github.com/gmarik/

2013-11-09 20:41:34 1315

原创 Linux下安装tpacpi-bat 控制thinkpad 充电阈值

thinkpad 使用tp_smapi (http://www.thinkwiki.org/wiki/Tp_smapi) 设置电池充电阈值, tp_smapi 还附带了HDAPS(类似win下的硬盘保护).但是 2013新出的几款thinkpad, Ivy Bridge 平台的thinkpad(X230,T430,T530), 已经无法使用tp_smapi了. tp_smapi 也有两年多

2013-10-17 19:39:59 2884

原创 频道认领

BANGC62810FE3CC39EE19EFF0484XIANGUO

2013-10-03 21:26:31 546

原创 Fedora 17 安装后的配置

T430上尝试了Ubuntu 12.04 和fedora 17,19, 大问题没有, 小问题不少, 比如耗电, 双显卡, hda声卡问题, 最终回到了Fedora 17这个EOL版本, 原因是"没更新不折腾" ------------------ yum installation ------------------ sudo yum install yum-plugin-

2013-09-26 17:10:42 1671

原创 在linux下重新编译alsa

(1)删除已安装的alsarpm -e alsa-plugins-pulseaudiorpm -e alsa-utilsrpm -e alsa-ossrpm -e --nodeps alsa-librpm -e --nodeps alsa-tools-firmwarerpm -e alsa-firmware(2)编译alsacd alsa-driver-1.

2013-09-18 15:57:07 934

原创 Markdown入门指北

http://lihuachuan.iteye.com/blog/1838013VirtualBox的磁盘文件vdi只支持单文件的形式,如果一开始没有设置好,那么可能会造成这个文件越来越大,虚拟机也越跑越慢。一开始的话,建议将各个盘挂到不同的虚拟盘片下,c盘、d盘、e盘等各挂一个盘。假设你各个盘都给了10G的空间,分开挂的话,你就会得到3个10G的文件,而不是一个30G

2013-08-31 19:16:15 753

原创 Vim使用指北

为了避免:号输入命令产生的歧义, 以下出现的提示后用=替代, 帮助 :help快捷键帮助 :help c_CTRL-A  在c模式下快捷键的用途,前缀i,v,c分别表示插入,可视,命令模式。命令计数:数字+命令,重复N次操作,例如:3k 向上移动3行,3x 3a!插入三个叹号 tags移动:JKHL 快速移动,对比terminal快捷键:

2013-07-12 16:03:45 915

原创 标准模板库 STL 简单总结

常用容器vector, list, map, sethttp://www.cplusplus.com/reference/stl/vector/(1.1)vector的头文件#include using std::vector;vector v_ints;或std::vector v_ints;(1.2)vector的构造vector

2012-09-05 14:57:14 961

原创 C++ Primer笔记: 类和对象, 重载操作符的总结

一般情况,Linux启动过程是BIOS-GRUB-内核-init进程(读取inittab文件)但debian 系衍生出来的linux 没有使用/etc/inittab ,ubuntu从6.10开始逐步用upstart代替原来的sysinit,进行服务进程的管理。注*/etc/init取代了原来的/etc/event.d,所以下面的链接文字可能有出入。 参考资料:upstar

2011-05-31 09:55:00 1007

原创 Linux 常用命令总结

<br /><br />一:sizeof进行结构体大小的判断<br /> <br />typedef struct<br />{<br />    int a;<br />    char b;<br />}A_t;<br />typedef struct<br />{<br />    int a;<br />    char b;<br />    char c;<br />}B_t;<br />typedef struct<br />{<br />    char a;<br />    int b;

2011-05-26 17:16:00 769

原创 结构体对齐, 位域, 柔性数组

<br />C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结<br />构中的柔性数组成员前面必须至少一个其他成员。 柔性数组成员允许结构中包含一个大小可<br />变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用<br />malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组<br />的预期大小。<br />柔性数组到底如何使用呢?看下面例子:<br />typedef struct st_type

2011-05-26 17:14:00 1039

原创 C++类实例占用的内存结构,及虚函数表的一点探究

或许编译器的差异, 所得的结果也不同, 但某些地方还是可以借鉴的.帖子讨论:http://topic.csdn.net/u/20110509/11/43917452-ae4d-4ba9-8c72-25e454e60e75.html?113761501class CPocket{public: CPocket(){ //cout

2011-05-12 11:58:00 1071

转载 大端(Big Endian)与小端(Little Endian)详解

<br /><br />大端(Big Endian)与小端(Little Endian)详解<br />【大端(Big Endian)与小端(Little Endian)简介】<br />Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 <br />     对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:<br />(1) 它的地址是多少?<br />(2) 它的字节在内存中是如何组织的?<br />    针对第一个问题,有这样的

2011-04-22 11:49:00 754

原创 C语言中指针和数组的总结

http://tech.sunplusedu.com/space/post-4064.aspx 用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解

2011-04-22 08:43:00 2097

原创 Gnome 3.x快捷键总结

<br />http://jsdo.it/norahiko/oxIy/fullscreen

2011-04-07 11:09:00 1236

转载 linux下信号量semaphore的应用

<br /> <br />http://www.yuanma.org/data/2006/0721/article_1195.htm<br /><br /><br /><br /><br />生产者线程用于往链表里添加节点,数个工作线程从链表取出节点并处理。对于一般的mutex_lock,mutex_unlock方式,如果这一段时间没有工作,那么工作线程将会不停的调用lock,unlock操作。而这样的操作毫无疑义。<br /> <br />在这里系统给我们提供了另外一种同步机制,信号灯,Semaphore

2011-03-25 14:47:00 833

原创 Linux内核的ioctl函数学习2 - linux系统ioctl使用示例

<br />http://www.linuxidc.com/Linux/2007-12/9623p3.htm<br /><br />These were writed and collected by kf701,<br />you can use and modify them but NO WARRANTY.<br />  Contact with me : [email protected]<br /><br />程序1:检测接口的 inet_addr,netmask,broad_addr<br />#i

2011-03-16 14:16:00 1022

原创 Fedora下Samba服务的搭建

一、 什么是ioctl。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:int ioctl(int fd, ind cmd, …);其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和cmd的意义相关的。ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对i

2011-03-16 14:01:00 705

转载 perror()打印“ Address already in use ”的解决方法,key words:errno perror bind setsockopt

代码如下:if( bind(local_sock_fd,(struct sockaddr*)(&local_sock_addr),sizeof(struct sockaddr)) == -1){        perror("ERROR bind()");        return -1;    }运行时发现终端打印出ERROR bind() :  Address already in use转自:http://blogold.chinaunix.net/u2/69143/showart_1019104.

2011-03-14 10:07:00 1379

转载 [zz] write的奥秘

原文地址 http://www.linuxforum.net/doc/write-coly.html  在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可

2011-03-14 10:07:00 610

原创 Fedora 14 开发环境 (update)

<br />(1)大家所熟知的使用typedef提高代码可移植性:<br />//在支持long double的平台上, 最高精度的类型REALtypedef long double REAL;//如果另一平台的最高精度只有floattypedef float REAL; <br /> <br />(2)typedef struct的使用:<br />  方式1<br />struct msg{ BYTE index; int len; char data[10];};

2011-03-10 14:33:00 3610 1

原创 linux下 select() 函数的用法小结

Select的函数格式(我所说的是Unix系统下的伯克利socket编程,和windows下的有区别,一会儿说明): int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); 先说明两个结构体: 第一,struct fd_set可以理解为一个集合,这个集合中存放的是文件描述符(file descriptor),即文件句柄,这可以是我们所说的普通意义的文件,当然Unix下任

2011-03-08 14:28:00 770

转载 [zz] Socket send函数和recv函数详解

Send函数int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓冲区;第三个参数指明实际要发送的数据的字节数;第四个参数一般置0。这里只描述同步Soc

2011-03-08 09:47:00 980

原创 pthread_jion() , pthread_create() 导致的segmentation fault

下午调试程序的“segmentation fault”,先上代码:int main(){ printf("entering main() /n"); init_globals(); /*initialize global variable defined in main.c*/ init_iic(); init_spi(); if(init_sock() == -1){ exit(1); } sock_listen_tid = pth

2011-03-04 16:13:00 3583

转载 [zz] Linux socket关闭连接shutdown与close

http://www.cublog.cn/u3/99348/showart_2072194.html在Linux socket关闭连接的方法有两种分别是shutdown和close,首先看一下shutdown的定义#includeint shutdown(int sockfd,int how);how的方式有三种分别是SHUT_RD(0):关闭sockfd上的读功能,此选项将不允许sockfd进行读操作。SHUT_WR(1):关闭sockfd的写功能,此选项将不允许sockfd进行写操作。SHUT_RDWR

2011-03-03 15:55:00 1749

原创 关键字 extern static const, 声明和定义的区别

原帖 http://hi.baidu.com/bwandmff/blog/item/56876b30a31d519da9018e9a.htm在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块):    在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的

2011-03-01 16:59:00 1311

转载 [zz] 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast

C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-style)的强制转型。使用标准C++的类型转换符:static_cast、dynamic_cast、reinte

2011-02-28 20:47:00 744

转载 zz 函数调用约定( __cdecl + __stdcal + __fastcall )

<br /><br />调用约定 (Calling convention) 决定以下内容: 函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。<br />   <br /> <br /> <br />采用 __cdecl 约定时调用约定 (Calling convention) 决定以下内容: 函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。<br />   <br /> <br /> <br />采用 __cdecl 约定时: 函数参数按照从右

2011-02-27 21:12:00 747

转载 [zz]我的Linux书架

<br /><br />作者:wwang <br />出处:http://www.cnblogs.com/wwang <br />本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。<br /> <br />工作几年来,一直从事Linux内核驱动方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。入门类一直认为,在一个系统上学习开发之前,首先需

2011-02-11 17:25:00 707

原创 总结: linux下的多线程API (POSIX线程)

POSIX线程:一个完成的线程/进程包括三部分,代码+数据+内存栈;子线程和子进程在被创建的时候,对于fork()创建子进程,三部分都要复制一份,数据包括比如文件描述符,虚拟内存,子进程关闭文件描述符不会影响父进程中的描述符;对于pthread_create()创建子线程的时候,只有内存栈被复制,其他的部分(代码,数据都是共享的),如果一个线程改变了某变量的值,其他所有的线程都调用的是改变之后的值;头文件#include 编译参数: -lpthread(一)涉及到的类型:  pthread_t, pthre

2011-02-09 18:36:00 2456 1

转载 转: 在Windows下使用gcc

最近,想将linux机 器上的一个程序拿到Windows下用。直接将souWindowsrce codes拷贝到Windows下无法用Windows的C编译器编译,大概是缺少一些库吧。后来,想到Linux下那些文件是用ccgcc编译的,因 此,觉得要是有Windows版本的或ccgcc编译器那就很值得一试了。    后来在网上搜了半天,似乎没有现成的Windows版本的cc或gcc编译器。不过,如果使用Cygwin, 它可以带有gcc编译器。Cygwin我一两年前用过的,但不是太常用。去了Cygwin网

2011-01-27 14:18:00 1215 2

翻译 Nand Flash坏块管理, OOB, ECC, BBT

(一)指针数组: 指向数组的指针, 类似于int*, char*, 数组指针指向的类型是"数组"(1)设有int array[5][10],array即二维数组首地址,   int *p = array; //错   int **p = array;//错   int (*p)[10]=array; //对   int (*pa)[10]=&a[0];//对   int **p2=&a2[0][0]//错,右边类型:int*   int **p2=&a2[0]   //错,右边类型:int(*)[10](2

2010-11-03 11:50:00 3196

原创 利用busybox, extlinux 在工控机CompactFlash(CF卡)上构建Linux系统(下)

上篇:CF卡分区, extlinux的安装中篇:构建根文件系统下篇:2.6内核剪裁及Busybox编译配置及其分析硬件平台:研华3355软件:busybox-1.13.3, extlinux 3.63, linux-2.6.32开发环境: Ubuntu 9.10

2010-10-26 10:15:00 2682

原创 [原创] 利用busybox, extlinux 在工控机CompactFlash(CF卡)上构建Linux系统(中)

上篇:CF卡分区, extlinux的安装中篇:构建根文件系统下篇:2.6内核剪裁及Busybox编译配置及其分析硬件平台:研华3355软件:busybox-1.13.3, extlinux 3.63, linux-2.6.32开发环境: Ubuntu 9.10

2010-10-20 20:55:00 2666

原创 [原创] 利用busybox, extlinux 在工控机CompactFlash(CF卡)上构建Linux系统(上)

上篇:CF卡分区, extlinux的安装中篇:构建根文件系统下篇:2.6内核剪裁及Busybox编译配置及其分析硬件平台:研华3355软件:busybox-1.13.3, extlinux 3.63, linux-2.6.32开发环境: Ubuntu 9.10

2010-10-20 18:50:00 4689

原创 Visual c++ Call Stack窗口调试 跟踪“内存不能为读”的错误

Call Stack窗口用于观看函数运行时的参数类型、参数值信息。当程序处于调试阶段时,Call Stack窗口会将当前代码所在的函数显示在窗口的上方,其后是调用该函数的上级函数,直到WinMain()函数入口。 比如程序会在执行一段时间后出现“内存xxx不能为读”的错误,如果在VC调试模式下执行程序,会出现Access   Violation的警告,VC会自动断点到当前执行的函数,也就是产生Access   Violation异常的那个函数,然后这时打开Call Stack,可以看到函数的调用顺序及参数

2010-09-07 16:44:00 1625

原创 使用busybox构建yaffs2根文件系统(前言)

(一) 根文件系统启动过程 由于默认的内核命令行上有init=/linuxrc, 因此,在文件系统被挂载后,运行的第一个程序是根目录下的linuxrc。 这是一个指向/bin/busybox的链接,也就是说,系统起来后运行的第一个程序也就是busybox本身。 这种情况下,busybox首先将试图解析/etc/inittab来获取进一步的初始化配置信息(参考busybox源代码init/init.c中的parse_inittab()函数)。如果根文件目录中并没有/etc/inittab这个配置文件,根

2010-08-25 14:21:00 1087

原创 Busybox - Yaffs2文件系统

参考: http://www.cublog.cn/u3/104447/showart_2218502.html 以及友善mini2440手册. 照做基本没问题, 这里只写需要注意的地方. (一)创建根目录 mkdir root dev etc boot tmp var sys proc lib mnt home不必解释, mknod -m 600 dev/console c 5 1  mknod -m 600 dev/null    c 1 3  解释如下: mknod 用指定名称产生一个

2010-08-20 11:27:00 1233

原创 linux2.6.32 内核移植s3c2440 - DM9000网卡驱动移植

参考: http://caiming1987612.blog.163.com/blog/static/118556676200961752714307/ http://blog.chinaunix.net/u1/34474/showart_401078.html http://hi.baidu.com/%D3%F3%C4%E0%C4%EA%B8%E2/blog/item/6256fea7bfceac98d0435819.html 时序图和引脚连接 :http://blog.chinaunix.net

2010-08-19 17:00:00 1868

实模式 dos下的TCP/IP编程库(wattcp)及代码例子

更详细说明请访问: http://blog.csdn.net/dos5gw/archive/2010/03/29/5429582.aspx 目录说明: \borland c++ 3.1代码例子: 改为英文目录,可在dos环境下用bc31执行build all; \dos下的网卡驱动: 包括Realtek,intel网卡驱动; \wattcp: wattcp库及代码 \windows环境sock调试工具: 可以建立多个TCP/UDP客户端/服务端,发送/接受文本/二进制消息;

2010-04-02

空空如也

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

TA关注的人

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