- 博客(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
1115
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
1363
原创 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
2989
原创 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
1735
原创 在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
1003
原创 Markdown入门指北
http://lihuachuan.iteye.com/blog/1838013VirtualBox的磁盘文件vdi只支持单文件的形式,如果一开始没有设置好,那么可能会造成这个文件越来越大,虚拟机也越跑越慢。一开始的话,建议将各个盘挂到不同的虚拟盘片下,c盘、d盘、e盘等各挂一个盘。假设你各个盘都给了10G的空间,分开挂的话,你就会得到3个10G的文件,而不是一个30G
2013-08-31 19:16:15
782
原创 Vim使用指北
为了避免:号输入命令产生的歧义, 以下出现的提示后用=替代, 帮助 :help快捷键帮助 :help c_CTRL-A 在c模式下快捷键的用途,前缀i,v,c分别表示插入,可视,命令模式。命令计数:数字+命令,重复N次操作,例如:3k 向上移动3行,3x 3a!插入三个叹号 tags移动:JKHL 快速移动,对比terminal快捷键:
2013-07-12 16:03:45
941
原创 标准模板库 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
997
原创 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
1031
原创 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
817
原创 结构体对齐, 位域, 柔性数组
<br />C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结<br />构中的柔性数组成员前面必须至少一个其他成员。 柔性数组成员允许结构中包含一个大小可<br />变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用<br />malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组<br />的预期大小。<br />柔性数组到底如何使用呢?看下面例子:<br />typedef struct st_type
2011-05-26 17:14:00
1121
原创 C++类实例占用的内存结构,及虚函数表的一点探究
或许编译器的差异, 所得的结果也不同, 但某些地方还是可以借鉴的.帖子讨论:http://topic.youkuaiyun.com/u/20110509/11/43917452-ae4d-4ba9-8c72-25e454e60e75.html?113761501class CPocket{public: CPocket(){ //cout
2011-05-12 11:58:00
1106
转载 大端(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
786
原创 C语言中指针和数组的总结
http://tech.sunplusedu.com/space/post-4064.aspx 用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解
2011-04-22 08:43:00
2148
转载 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
856
原创 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 : kf_701@21cn.com<br /><br />程序1:检测接口的 inet_addr,netmask,broad_addr<br />#i
2011-03-16 14:16:00
1059
原创 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
755
转载 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
1415
转载 [zz] write的奥秘
原文地址 http://www.linuxforum.net/doc/write-coly.html 在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可
2011-03-14 10:07:00
634
原创 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
3681
原创 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
834
转载 [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
1016
原创 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
3719
转载 [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
1789
原创 关键字 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
1364
转载 [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
773
转载 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
786
转载 [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
738
原创 总结: linux下的多线程API (POSIX线程)
POSIX线程:一个完成的线程/进程包括三部分,代码+数据+内存栈;子线程和子进程在被创建的时候,对于fork()创建子进程,三部分都要复制一份,数据包括比如文件描述符,虚拟内存,子进程关闭文件描述符不会影响父进程中的描述符;对于pthread_create()创建子线程的时候,只有内存栈被复制,其他的部分(代码,数据都是共享的),如果一个线程改变了某变量的值,其他所有的线程都调用的是改变之后的值;头文件#include 编译参数: -lpthread(一)涉及到的类型: pthread_t, pthre
2011-02-09 18:36:00
2501
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
1268
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
3530
原创 利用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
2767
原创 [原创] 利用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
2723
原创 [原创] 利用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
4804
原创 Visual c++ Call Stack窗口调试 跟踪“内存不能为读”的错误
Call Stack窗口用于观看函数运行时的参数类型、参数值信息。当程序处于调试阶段时,Call Stack窗口会将当前代码所在的函数显示在窗口的上方,其后是调用该函数的上级函数,直到WinMain()函数入口。 比如程序会在执行一段时间后出现“内存xxx不能为读”的错误,如果在VC调试模式下执行程序,会出现Access Violation的警告,VC会自动断点到当前执行的函数,也就是产生Access Violation异常的那个函数,然后这时打开Call Stack,可以看到函数的调用顺序及参数
2010-09-07 16:44:00
1679
原创 使用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
1115
原创 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
1299
原创 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
1933
实模式 dos下的TCP/IP编程库(wattcp)及代码例子
2010-04-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人