自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心中天堂的专栏

满腹经纶气自华

  • 博客(34)
  • 资源 (10)
  • 收藏
  • 关注

原创 vim other

vim参考在线参考手册定义快捷输入:ab 简写 原始信息示例:用ibluebox来替代完整的邮箱地址:ab ibluebox ibluebox@gmail.com(注意要按回车执行,如果按ESC,则没有起作用)之后,在插入模式下,输入ibluebox后再按空格,就出现完整的"ibluebox@gmail.com",非常实用查看vim的所有设置选项

2011-10-31 13:31:47 840

原创 vim 正则表达式

Vim中的正则表达式功能很强大,如果能自由运用,会带来很愉快的体验。一、vim编辑的常用命令    s    d    / ?vim的这些常用命令可以配合表达式使用。二、元字符元字符是具有特殊意义的字符。使用元字符可以表达任意字符、行首、行 尾、某几个字符等意义。元字符一览元字符            说明.

2011-10-28 18:47:09 2256

翻译 gdb 调试(五)检查文件之搜索和查看汇编指令

1、  源码文件查找gdb调试可以通过以下三个命令查找源文件。 forward-search regexp 从源文件首行还是搜索 关键字regexp,并将搜索到的行号记录。这个记录可以被下一个gdb命令引用。 例:for void搜索结果:38 void接下来运行命令:list 则显示以38行为中心的10行内容。(要显示的行数可以指定) search reg

2011-10-27 22:40:44 4582

翻译 gdb 调试(五)检查文件之list

gdb根据记录的调试信息知道我们要调试的文件信息。所以通过gdb我们能查看源码。 同时gdb也提供修改源码文件的指令。 1、  查看源码gdb中通过list命令查看源码。list每次显示的函数可以指定,下文中假定指定显示的行数为10行。 list linenum    以linenum指定的行号为中心,显示10行 list function    以指定的函

2011-10-27 22:08:36 10431 2

翻译 gdb 调试(五)检查文件之编辑源文件。

gdb 调试的时候可以编辑源文件。edit locationlocation可以使行号,函数名,文件中指定的位置。例:edit 32         编辑当前文件的32行edit main       编辑当前文件的main函数edit main.c:init  .编辑main.c中的init函数edit mian.c:32   编辑main.c中的32行 指定

2011-10-27 22:07:27 1921

翻译 gdb调试(四)函数调用栈之Backtraces

通过产看栈信息,我们可以了解栈内帧的编号或地址,通过选择帧我们可以移动到指定的帧内去产看信息。1、查看栈信息产看函数调用栈的几个函数bt    显示所有的函数调用栈帧的信息,每个帧一行。bt n    显示栈定的n个帧信息。bt -n    显示栈底的n个帧信息。bt full    显示栈中所有帧的完全信息如:函数参数,本地变量

2011-10-27 18:38:00 25898

翻译 gdb调试(四)函数调用栈之--frame

函数调用栈由连续的栈帧组成。每个栈帧记录一个函数调用的信息,这些信息包括函数参数,函数变量,函数运行地址。    当程序启动后,栈中只有一个帧,这个帧就是main函数的帧。我们把这个帧叫做初始化帧或者叫做最外层帧。每当一个函数被调用,一个新帧将被建立,每当一个函数返回时,函数帧将被剔除。如果函数是个递归函数,栈中将有很多帧是记录同一个函数的。但前执行的函数的帧被称作最深帧,这个帧是

2011-10-27 13:54:52 17066

翻译 gdb调试(四)函数调用栈—stack

什么是函数调用栈        程序每调用一次函数,关于这个函数的信息就会产生。这些信息包括,调用函数的地方、函数的参数、被调用函数变量等。这些信息存储在一个叫做函数调用信息帧的内存中,这些函数信息帧就组成了函数调用栈。       gdb提供了一些指令可以查看这些帧中的信息。当查询函数变量的信息时,gdb就是从这个被选中的帧内获取信息,但是查看被选中帧外的变量信息是非法的。当程序运行

2011-10-26 23:27:38 4028

翻译 gdb调试(三)运行调试程序

三、gdb运行指令 continue [ignore-count]       继续运行程序,直到结束或者触发下个断点。step       单步执行,可进入函数内部。step count next [count]       以文件行为参考,运行下一行指令。遇到函数调用,跳过函数内部。 finish       运行至函数返回。 until

2011-10-26 22:39:22 1553

翻译 gdb断点(七)为断点设定指令集Breakpoint Command Lists

如果想在程序停止在断点的时候,打印信息,或给一些有价值的变量赋值以便定位bug,或者是激活其他断点,可以为这个断点设置一些指令集,完成这些操作。gdb的commands指令帮你实现这个功能能。用法:commands [range...] ... command-list ... end 例1:在设置断点的时候设定命令集每个指令以行的形式设置,每行输入一个gdb指令,结束

2011-10-26 21:50:55 5651

原创 版本控制工具git的安装和常用命令

gitCreated 星期一 04 七月 2011一.安装GIT1.源码安装:从Git官网的下载页面下载最新稳定版源代码,然后编译、安装$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2$ tar -xjvf git-1.7.3.5.tar.bz2$ cd git-1.7.3

2011-10-26 10:24:26 2655

翻译 gdb断点(六)condition 与ignore

如果为一个断点设置一个条件,每当程序到达这个断点的时候都会去判断是否为TRUE,只有条件为TRUE时才会在断点出停下。断点条件的调试方式与断点断言的调试方式逻辑是想反的,assert是当条件为FALSE时停止,所一如果在条件调中用断言的话应该是:condition !assert(exp)。断点的条件调试优越性在同个地方设置多个断点的时候体现的更完美。这样我们就可以控制在同一个断点

2011-10-24 23:24:09 14768 1

翻译 gdb断点(五)激活与禁止

对断点的控制除了建立和删除外,还可以通过使能和禁止来控制,后一种方法更灵活。断点的四种使能操作:enable [breakpoints] [range...] 完全使能enable                //激活所有断点enable 4            //激活4断点enable 5-6            //激活5~6断点disable [bre

2011-10-24 19:18:53 7953

翻译 gdb断点(四)删除

断点的删除与断点的设置同样的重要。删除断点的命令有两个:delete用法:delete [breakpoints num] [range...]delete可删除单个断点,也可删除一个断点的集合,这个集合用连续的断点号来描述。例如:delete 5delete 1-10clear用法:clear     删除所在行的多有断点。    clear loca

2011-10-24 18:36:41 128824

翻译 gdb 断点(三)catch

在调试的时候通常用catchpoints来捕获事件,如c++的异常等。捕获点的设置通过catch与tcatch两个命令。    tcatch所设置的断点停止一次后自动删除,设置断点的方法与catch相同。    用法:catch event    这些event事件如下:    throw        The throwing of a C++ exception.

2011-10-24 18:13:34 11165

翻译 gdb 断点设置(二)watch

2、watch     watch [-l|-location] expr [thread threadnum] [mask maskvalue]     -l 与 mask没有仔细研究,thread threadnum 是在多线程的程序中限定只有被线程号是threadnum的线程修改值后进入断点。     经常用到的如下命令:     watch      为表达式(变量)e

2011-10-23 23:04:55 34406 1

翻译 gdb break 断点设置(一)

http://sourceware.org/gdb/current/onlinedocs/gdb二、断点设置gdb断点分类:以设置断点的命令分类:breakpoint可以根据行号、函数、条件生成断点。watchpoint监测变量或者表达式的值发生变化时产生断点。catchpoint监测信号的产生。例如c++的throw,或者加载库的时候。gdb中的变量从1开

2011-10-23 13:03:09 147750 2

翻译 gdb调试(二)断点设置(英文板)

Breakpoints are set with the break command (abbreviatedb). The debugger convenience variable `$bpnum' records thenumber of the breakpoint you've set most recently; seeConvenience Variables, for a

2011-10-21 14:47:35 5142

原创 gdb调试(一)启动调试程序

一、启动>>gdb启动      gdb 调试之前加载调试符号,即编译时候加 –g选项,如 gcc file.c –g –o target      启用gdb的方法种有3种,一种是启动core,还有是attach一个已经运行的进程。   1. gdb    2. gdb core      用gdb同时调试一个运行程序和core文件,core是程序非法执行后core d

2011-10-20 21:53:28 17315 1

原创 mesa opengl 安装

前几天对opengl 有点小兴趣,从网上下了一个,然后跑了几个demo,顺便做个笔记以便查找。根据网页重的左边的下载与安装就可成功安装。有时间再翻译和整理。http://www.mesa3d.org/opengl 参考文章http://www.khronos.org/

2011-10-20 18:04:23 1364

原创 gcc 参数详解

之前在玩directfb-example 时候发现,有几个c文件中的 DATADIR 这个宏是从Makefile中传进来的感觉很神奇。例如:        src/df_input.c:     keys_image  = load_image( DATADIR "/gnu-keys.png" );       其DATADIR是由 src/Makefile:   -DDATA

2011-10-20 13:18:08 1372

原创 tmux复制模式使用说明

之前tmux的复制模式没有学会,网上文档有很少,所以试了很多次,终于能复制了。设置复制模式中的默认键盘布局;可以设置为vi或emacs,我是把这个设置写入了配置文件。set-window-option -g mode-keys vi #可以设置为vi或emacsset-window-option -g utf8 on #开启窗口的UTF-8支持tmux复制模式的命令表:

2011-10-20 12:37:06 49125

原创 mesa openGL 安转和编译

mesa官方网站,按照他的编译和安装是可以成功的。http://www.mesa3d.org/

2011-10-20 12:28:13 2303

原创 DirectFB-examples-1.2.0 编译

下载和解压就省略了,直接进主题:生成Makefile./configure CC=arm-linux-gcc CCP=arm-linux-g++ --host=arm 设置环境变量export PATH=$PATH:/usr/bin:/bin:/usr/l

2011-10-19 16:20:20 1654

原创 IP地址、网关地址、子网掩码地址

今天在用c代码实现设置网络地址的时候竟然不知到网关与IP地址要在同网段这个关系,比较汉。赶紧补一下!!IP地址TCP/IP(Transmite Control Protocol 传输控制协议/Internet Protocol网际协议)已成为计算机网络的一

2011-10-18 17:28:49 7556 1

原创 vim 插件命令

Needtrre,tto 打开Needtrreo 打开关闭文件或者目录t 在标签页中打开T 在后台标签页中打开! 执行此文件p 到上层目录P 到根目录K 到第一个节点J 到最后一个节点u 打开上层目录m 显示文件系统菜单(添加、删除、移动操作)? 帮助q 关闭 DoxygenToolki

2011-10-17 16:41:19 942

原创 tmux的配置文件

tmux的配置文件内容就是tmux命令列表,具体命令的意义查看:man tmux这个配置文件非常好用,支持vi按键模式的搜索。path:$HOME/.tmux.conf  没有的话自己建一个。#-- base --#set -g default-terminal "screen-256color"set -g display-time 3000set -

2011-10-17 15:54:40 7527

原创 代码风格(五)标识符命名

十一、 标识符命名 标识符命名要清晰明了,可以使用完整的单词和易于理解的缩写。 1、单词缩写短的单词可以通过去元音形成缩写,较长的单词可以取单词中有意义的3个字母形成缩写。看别人的代码看多了就可以总结出一些缩写惯例,例如count写成cnt,block写成bl

2011-10-13 23:21:14 1097 1

原创 代码风格(四)空格与空行

十、空格与空行 1、  空格与关键字    空格使用方式(主要)取决于它是用于函数还是关键字。大多数关键字后要加一个空格。     值得注意的例外是:    sizeof、 typeof、alignof和__attribute__。    例如: s

2011-10-13 22:49:58 3249

原创 代码风格(三)语块

九、语块1、代码行极限 – 80字符如果有行代码超过80字符,建议用折行。折行后的语句前加空行。    if(  ( value_a > value_b ) && ( value_a > value_c ) &&  \        ( value_a > val

2011-10-13 21:57:37 678

原创 代码风格(二)函数

八、函数风格 每个函数都应该设计得尽可能简单,简单的函数才容易维护。应遵循以下原则: 1、函数注释比较重要的函数定义上面必须加注释,说此函数的功能、参数、返回值、错误码等。 2、函数名执行函数就是执行一个动作,函数名最好以动宾结构短语组成,单词间用

2011-10-13 20:52:57 878

原创 代码风格(一)注释、头文件、宏定义

做程序员已经两年多了,感觉代码风格很重要,所以决定抽点时间定制一下自己的代码风格。参考文档:http://learn.akae.cn/media/ch09.html代码风格的重要性:1、  代码风格是一个规范,编写代码的时候就有了规矩,有规矩应该是成熟的标志。

2011-10-11 22:54:41 2034 1

原创 linux 查看库信息

ar : 创建静态库,插入,删除,列出和提取成员strings : 列出文件中的所有可打印字符串strip : 从目标文件中删除符号表信息nm : 列出目标文件中符号表中定义的符号size : 列出目标文件中节的名字和大小ldd 列出可执行

2011-10-11 18:56:18 3755

原创 什么是lua

参考文章http://bbs.znpc.net/viewthread.php?tid=4971官方参考手册http://www.lua.org/manual/5.1/manual.html

2011-10-10 18:01:00 724

linux c 函数 chm

linux c 函数 手册 便于查找函数

2013-12-17

goahead 移植文档及修改后的源代码

goahead3.1.2 修改bug后的源代码,cgi配置文件,cgi测试html等。

2013-12-17

pppd + chat arm 自动编译包

pppd chat 自动下载和交叉编译,只需要修改交叉编译的工具就可编译通过,wcdma 模式 华为 MU609 3g 网卡 在linux 3.8.13 上已经测试通过。

2013-08-22

gsoap 2.7 原码 编译通过

gsoap2.7 原码 编译可以通过,在pc上用过的。

2013-01-28

vim (good )

已经配置好的vim插件,支持自动补全,函数列表,文件搜索等功能。

2012-08-30

Linux 库文件的介绍及制作

Linux 库文件的介绍及制作 在windows平台和linux平台下都存在着大量的库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于windows和linux的本质不同,因此二者库的二进制是不兼容的。 本文仅限于介绍linux下的库。

2012-03-18

c 语言代码风格

c 语言代码风格,工作之余总结的c代码风格

2011-10-14

boa 源 码 共享

boa 源码 服务器 可以分析 服务器的实现方式。

2010-01-14

servfox 源码

servfox 源码,可搭建视屏监控。 ASDjs的KAJSLASD

2009-12-15

空空如也

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

TA关注的人

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