• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Jason_Cheng
博客园 首页 新随笔 联系 订阅 订阅 管理

11 2012 档案

 
浅谈C语言中的联合体
摘要:联合体union 当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员;4)其对齐方式要适合其中所有的成员;下面解释这四条描述: 由于联合体中的所有成员是共享一段内存的,因此每个成员的存放首地址相对于于联合体变量的基地址的偏移量为0,即所有成员的首地址都是一样的。为了使得所 有成员能够共享一段内存,因此该空间必须足够容纳这些成员中最宽的成员。对于这句“对齐方 阅读全文
posted @ 2012-11-30 19:26 Jason_Cheng 阅读(267) 评论(2) 推荐(0)
Linux 技巧:重定向 stderr 和 stdout 输出到 gdb 窗口
摘要:恽 益群 (yunyiqun@cn.ibm.com), 软件工程师, IBM余 锦 (yujin@cn.ibm.com)IBM CDL简介:本文介绍了一个实用 gdb 调试技巧。 它结合实际例子,一步一步示意如何重定向 stderr 和 stdout 到 gdb窗口,使得查看应用程序的输出信息更为方便,从而提高调试者的工作效率。简介本文介绍了一个实用 gdb 调试技巧。 它结合实际例子,一步一步示意如何重定向 stderr 和 stdout 到 gdb窗口,使得查看应用程序的输出信息更为方便,从而提高调试者的工作效率。回页首问题为了调试基于 Eclipse 的 Java 和 C++ 混合的应用 阅读全文
posted @ 2012-11-30 19:02 Jason_Cheng 阅读(1782) 评论(0) 推荐(0)
shell script的一些实例
摘要:http://www.linuxsir.org/bbs/thread57171.html出道题考考你?文件:工a式aa工aaaa工期aaad工艺aaan如何转化成:a 工aa 式aaaa 工aaad 工期aaan 工艺$ cat a | sed -e 's/\([a-z]*$\)/ &/' -e 's/\([^ ]*\) \([a-z]*\)/\2 \1/'这里有两个转换步骤: 1. 转成中间用空格分隔的形式本想直接匹配汉字和英文字符,再反转;试了试,不太好使,就曲折了一下。[a-z]*$ 匹配每行最后的所有英文字符,加上了引号表示把它作为一个... 阅读全文
posted @ 2012-11-29 22:41 Jason_Cheng 阅读(168) 评论(0) 推荐(0)
Linux rename命令 批量重命名
摘要:Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了, 由于历史原因,在Perl语言大红大紫的时候,Linux的工具开发者们信仰Perl能取代C,所以大部分工具原来是C版本的都被Perl改写了,因为 Perl版本的支持正则处理,所以功能更加强大,已经不再需要C语言版本的了。如何区分系统里的rename命令是哪个版本的?输入 man rename 看到第一行是 RENAME(1) Linux Programmer’s Manual ... 阅读全文
posted @ 2012-11-29 17:47 Jason_Cheng 阅读(278) 评论(0) 推荐(0)
linux中shell变量$#,$@,$0,$1,$2的含义解释
摘要:linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。$#添加到 阅读全文
posted @ 2012-11-27 10:57 Jason_Cheng 阅读(209) 评论(0) 推荐(0)
vim+Ctags+Taglist+WinManager工具的安装
摘要:安装好Ubuntu11.10已经好几天了,因为阅读内核源代码的需要为了能更好的阅读内核代码,我为自己打造了vim+Ctags+Taglist+WinManager这一个阅读器。下面介绍一下阅读器的安装。在Ubuntu上安装vim,应该不需要再多说些什么了 sudo apt-get install vim系统就会自动将vim编辑器安装好了!!只有一个vim对于开发人员,特别是需要阅读大量源代码的程序员来说,显然是不够的,或者说是不方便的,当然除了那些大牛之外,我身边就有这么一位,真的很牛的那种,我还不是,就先借助一下工具呗!!1.接下来就是Ctags的安装,当然你也可以是用Ubuntu的自动安. 阅读全文
posted @ 2012-11-22 10:51 Jason_Cheng 阅读(292) 评论(0) 推荐(0)
vim技巧
摘要:VIM常用命令 执行脚本方法::so 脚本名 这里,脚本名是一个.vim文件如果想把外部命令执行的结果插入到当前编辑的缓冲区中,可以考虑使用“:r!”VIM常用命令::set showmode显示当前模式 kh l 移动光标 j删除一个字符:x删除一行:dd删除换行符:J撤消:u一次撤消一行的:U重做:CTRL_R退出并保存修改:ZZ======================================================移动命令:以word为单位的移动:w(向->移) b(向<-移) e(向->移) ge(向<-移)$(移到行尾) ^当前行第一个非空 阅读全文
posted @ 2012-11-21 16:47 Jason_Cheng 阅读(290) 评论(0) 推荐(0)
8种Nosql数据库系统对比
摘要:导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型nosql数据库的文章。文章由敏捷翻译 – 唐尤华编译。如需转载,请参见文后声明。虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。但是NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别。这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库。针对这种情况,这里对 Cassandra、 Mongodb、CouchDB、Redis、 Riak、 Membas 阅读全文
posted @ 2012-11-21 11:53 Jason_Cheng 阅读(259) 评论(0) 推荐(0)
如何进行Linux Kernel 开发?
摘要:译者序:这是一篇很重要的文档,它介绍了内核开发的方方面面。这篇文档已被加入到内核源码树的Documentation文档里(名字为HOWTO),你可以在最新的内核树里找到它。尽管已经有网友翻译过这篇文档,但是我还是决定自己再翻译一遍。翻译完之后,我的感触是如果依靠翻译来进行学习,速度太慢了。以后的技术文档直接看英文,适当的做做笔记即可。山涛-----------------------------------------------------How to do Linux Kernel development------------------------------------------- 阅读全文
posted @ 2012-11-20 20:18 Jason_Cheng 阅读(419) 评论(0) 推荐(0)
Qt, QT/E, Qtopia 的区别
摘要:Qt的授权是分为两条线,商业版和开源版。如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的;如果使用的是开源版的Qt,由于其使用的是GPL协议,那么可发出的程序也必须是GPL的。不过自从qt 4.5.0版本,诺基亚公司使用了LGPL协议,那么写出的程序就可以据为己有了!Qt 的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台;X11版,适合于使用了x系统的各种 linux 和 unix的平台;Mac版,适合与苹果MacOS;embedded版,适合于具有帧缓冲(frame buffer)的linux 的平台。区分---------------- 阅读全文
posted @ 2012-11-19 17:12 Jason_Cheng 阅读(321) 评论(0) 推荐(0)
计算机专业英语常用词汇
摘要:Active-matrix主动距陈 Adapter cards适配卡Advanced application高级应用Analytical graph分析图表Analyze分析Animations动画Application software 应用软件Arithmetic operations算术运算Audio-output device音频输出设备Access time存取时间access存取accuracy准确性ad network cookies广告网络信息记录软件Add-ons附软件Address地址Agents代理Analog signals模拟信号Applets程序Asynchrono 阅读全文
posted @ 2012-11-19 11:44 Jason_Cheng 阅读(366) 评论(0) 推荐(0)
详细介绍Linux man命令的使用方法
摘要:Linux man命令的使用方法(整理收集自网络)Linux提供了丰富的帮助手册,使用Linux man命令来查看一些不熟悉的命令的使用方法,还可以用来查询系统库文件中的一些函数定义和使用方法。Linux man中的man就是manual的缩写,用来查看系统中自带的各种参考手册,但是手册页分为好几个部分,如下所示:1Executable programs or shell commands2System calls (functions provided by the kernel)3Library calls (functions within program libraries)4Spec 阅读全文
posted @ 2012-11-16 11:53 Jason_Cheng 阅读(21114) 评论(0) 推荐(0)
Linux常用命令大全
摘要:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 阅读全文
posted @ 2012-11-16 11:22 Jason_Cheng 阅读(149) 评论(0) 推荐(0)
文件 数据库 数据库管理系统
摘要:《轻松学用Linux shell编程》16.3 文件与数据库~~~~~~~~~~~~~~~~~有的程序员把文件和数据库混为一谈,这是可以理解的,因为数据库本身就是一类文件。存储在数据库中的信息也同样存储在磁盘上的一个文件之中。但是,并非文件中的所有信息都属于一个数据库。通常地,一个文件具有如下特点:*文件中的信息没有特定次序。*文件没有特定的组织结构来让用户快速查找信息。*文件中信息的类型可以多种多样。而数据库的特点为:*数据库中的信息具有特定的次序。*数据库具有一定的组织结构可以让用户快速查找信息。*数据库中信息的类型是唯一的。16.4 数据库与数据库管理系统~~~~~~~~~~~~~~~~ 阅读全文
posted @ 2012-11-15 19:30 Jason_Cheng 阅读(397) 评论(0) 推荐(0)
Vbird 基础正规表示法汇整
摘要:我们可以将基础的正规表示法特殊字符汇整如下:RE 字符意义与范例^word 意义:待搜寻的字串(word)在行首!范例:搜寻行首为 # 开始的那一行,并列出行号grep -n '^#' regular_express.txtword$意义:待搜寻的字串(word)在行尾!范例:将行尾为 ! 的那一行列印出来,并列出行号grep -n '!$' regular_express.txt.意义:代表『一定有一个任意字节』的字符!范例:搜寻的字串可以是 (eve) (eae) (eee) (e e), 但不能仅有 (ee) !亦即 e 与 e中间『一定』仅有一个字节,而 阅读全文
posted @ 2012-11-15 16:29 Jason_Cheng 阅读(208) 评论(0) 推荐(0)
1.3 Android的SDK与源代码
摘要:《Android系统原理及开发要点详解》Android开发系统主要集中在两种环境中,分别是基于Android SDK的开发和基于Android源代码的开发。前者可以在Linux或者Windows两种环境中使用IDE完成,后者需要在Linux环境中进行开发。è 1.3.1 基于SDK的Android开发基于SDK的Android开发,使用Google提供的SDK。Android的SDK中包含Android系统下层的二进制映像、模拟器及相关的工具,在Linux和Windows系统中使用IDE环境进行Android应用程序的开发。不同版本的Android的SDK如下: android-sd 阅读全文
posted @ 2012-11-14 11:16 Jason_Cheng 阅读(1240) 评论(0) 推荐(0)
linux文件系统—inode和blocks及相关概念
摘要:一.inode size 定义单位:Byteinode table sample inode table是data area的索引表。Inode分为内存中的inode和文件系统中的inode,我们这里说的是文件系统中的inode。1. linux FS 可以简单分成 inode table与data area两部份。inode table上有许多的inode, 每个inode分别记录一个档案的属性与这个档案分布在哪些datablock上(也就是我们说的指针)。inode两个功能:记录档案属性和指针2. inode table中红色区域即inode size,是128Byte,在liunx系.. 阅读全文
posted @ 2012-11-08 11:20 Jason_Cheng 阅读(771) 评论(1) 推荐(0)
UNIX编程改变了吗?
摘要:http://www.thinknext.net/archives/614 UNIX高级编程Advanced UNIX Programming第二版是前一段时间UINX届比较引人瞩目的事情,informIT刊登了该书作者Marc Rochkind 回顾自第一版发布以来20年间变化的文章Has UNIX Programming Changed in 20 Years?。 Marc在1984年出版Advanced UNIX Programming的时候,UNIX已经走过了15个年头;完成第二版的时候,又一个20年过去了。人们会好奇地问,自1984年来,UNIX编程发 生了怎样的变化?嗯,实际上,. 阅读全文
posted @ 2012-11-06 21:50 Jason_Cheng 阅读(184) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3