- 博客(37)
- 资源 (16)
- 收藏
- 关注
转载 Linux 文件系统剖析
2007 年 12 月 03 日在文件系统方面,Linux® 可以算得上操作系统中的 “瑞士军刀”。Linux 支持许多种文件系统,从日志型文件系统到集群文件系统和加密文件系统。对于使用标准的和比较奇特的文件系统以及开发文件系统来说,Linux 是极好的平台。本文讨论 Linux 内核中的虚拟文件系统(VFS,有时候称为虚拟文件系统交换器),然后介绍将文件系统连接在一起的主要结构。
2009-07-31 17:59:00 544
转载 stdarg.h中三个宏va_start ,va_arg和va_end的应用
#include #include const int N=5;using namespace std;void Stdarg(int a1,...){ va_list argp; int i; int ary[N]; va_start(argp,a1); ary[0]=a1; for(i=1;i< N;i++)
2009-07-30 17:59:00 505
原创 函数参数的类型
int arg(unsigned char a);int main(){ float b = 11.0; arg(b); return 0;}int arg(unsigned char a){ float c = 5.0; float d = 6.6; printf("a
2009-07-30 17:29:00 602
转载 C语言常用宏定义技巧
1、防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H //头文件内容#endif2、重新定义 一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef unsigned char boolean; /* Boolean value type. */typedef unsigned long int u
2009-07-24 17:54:00 609
转载 位操作技巧实例大全
检测一个无符号数是不为2^n-1(^为幂): x&(x+1)将最右侧0位改为1位: x | (x+1)二进制补码运算公式:-x = ~x + 1 = ~(x-1)~x = -x-1 -(~x) = x+1~(-x) = x-1x+y = x - ~y - 1 = (x|y)+(x&y) x-y = x + ~y + 1 = (x|~y)-(~x&y) x
2009-07-24 17:52:00 490
转载 关于gcc,libc等相关概念的理解
关于gcc,libc等相关概念的理解 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一
2009-07-24 15:27:00 813
转载 弄错了会很尴尬的英文
相信大家对Chinglish早已经见怪不怪了,就连上世纪30年代逐字翻译的中式英语Long time no see(很久不见),也大张旗鼓地进入了英语标准词组的“领地”。像类似的一些“中式逐字翻译原创版”,也正在逐渐被老外们所接受;但有些情况则不同,已有的英文词句的表意往往并非是单词的真正意思,如果一不留神就会酿成“英语尴尬”,闹笑话不说,表错了意有时还会带来不少误会。就像一位博友在加拿大的亲身经
2009-07-21 20:07:00 755
转载 strtol和十六进制转二进制
今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟。网上关于这个函数的资料大都来源于同份资料,linux库函数,讲的不够细致。于是,我花了几个小时,认真地尝试其功能,并整理了这篇文章,希望能对C语言的爱好者一些帮助。希望大家能够将本文中发现的错误及时反馈给我,以便修正。我的信箱是wp.qin@sunmedi
2009-07-21 09:16:00 2170
转载 GCC相关
转自: zzzppp.cublog.cn 细心之人啊 The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnus Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可移植、可优化、支持ANSI C的开源C编译器。GCC最初的全名是GNU C Compiler,之后,随着GCC支持的语言越来越
2009-07-15 17:25:00 607
转载 格式描述串
"格式描述串"是由一系列的"格式转换说明符号"组成,格式转换说明符号的描述形式如下: % [+][-] 0 m[.n] [输出精度] %c 字符 %d 十进制整数%e 浮点数,指数e的形式%s 字符串 %E 浮点数,指数E的形式%u 无符号十进制整数%f 浮点数,小数点形式%g 输出%f与%e较短者%o 无符号八进制整数
2009-07-15 10:31:00 1516
原创 vfork的错误用法
"每个任务(进程)有一个栈,在这个进程中每个函数被调用时分别从这个栈占用一段区域,称为帧(frame)。%esp寄存器指向当前整个栈的栈顶,%ebp指向当前帧的帧底。不是当前帧(调用者)的帧底都已经被压栈。上一级调用者的帧底被压入当前%ebp内容所指的地址,也就是当前帧的帧底位置保存了上一级调用者的%ebp指针值(帧底),而每个%ebp的前一个单元存放的就是当前函数的返回地址(它是由调用者在cal
2009-07-14 10:25:00 853
转载 feof函数重读问题
fgets读到文件最后一行的时候(返回不是NULL) ,feof测试为假,再fgets一次(返回为NULL),再feof测试为真。 feof是通过判断read返回错误时,才判断流已经到达结尾。 在对流操作的时候,应该判断fgets()为NULL其实正确使用 feof 函数很容易,只要记住一个原则就是了:“先读文件后用 feof 判断”。foef(stream)针
2009-07-10 16:00:00 927
转载 LINUX的目录树
目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上。主要部分是根、/usr 、/var 和 /home 文件系统。每个部分有不同的目的。 每台机器都有根文件系统,它包含系统引导和使其他文件系统得以mount所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。 /usr 文件系统包含所有命令、库、man页和其他一般操作中所需的不改变的文件。
2009-07-10 12:07:00 451
转载 Ubuntu常用命令与技巧
Ubuntu常用命令与技巧 sudo apt-get install 软件名 安装软件命令 sudo nautilus 打开文件(有root权限) su root 切换到“root” ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回上一次所在的目录 cd ~ 或 cd
2009-07-10 12:06:00 474
转载 结构体和类的区别
1. C++ 中类与结构体的区别答:类成员默认访问权限为私有(private),结构体成员默认访问权限为公共(public),其他地方完全一样。---------------------------------------------------------------------------2. 关于私有继承私有继承实际上和组合比较相像,应该说是一
2009-07-09 18:44:00 1035
转载 单向链表的几道题
1. 转置单向链表 (也就是反序,注意链表的边界条件并考虑空链表)。#include struct listtype{ int data; struct listtype * next;};typedef struct listtype * list;/* Reverse the singly li
2009-07-09 18:43:00 643
转载 引用和指针的区别
引用和指针★ 相同点:1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。★ 区别:1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^_^4. 引用没有 const,指针有 co
2009-07-09 18:43:00 607
转载 Fibonacci数列
很令人惊讶,Fibonacci数列竟然可以用对数时间复杂度完成。一下是三个版本的求解:第一个是最原始的,指数时间复杂度。第二个是线性记忆的,线性时间复杂度。第三个是用矩阵记忆的,对数时间复杂度! /* Three versions of Fibonacci Number Computation Nan Wang Univer
2009-07-09 18:42:00 677
转载 儿时的变态卡通片
01.不良少年为追妹,勇闯体坛————灌篮高手 02.一骚娘们整容三次均失败,最后被乱棍打死————三打白骨精 03.法网恢恢,警方千里缉拿残障逃犯——黑猫警长 04.无耻幼童整日胡言乱语,终日猥 亵年长女性为乐————蜡笔小新 05.七尺男惨遭毒手变侏儒 痴情女真情不变仍同居——名侦探柯南
2009-07-09 18:40:00 1820
转载 鼓手建议
给所有初、中级鼓手的建议 对初学者: 1.不要急着追求速度,不管做什么样的练习,放松和稳定的节奏是最主要的。 误区:新手在做单跳练习时,喜欢由慢至快的击打,达到最大速度时,往往是通过手臂肌肉的痉挛而实现的,这是一个恶习。 正确的方法:无论是单跳、双跳、复合跳、滚奏、压奏。都需要在节拍器的配合下练习。培养按照节拍演奏的良好习惯。 注意:如何找到一个合适的练习速度。
2009-07-09 18:39:00 1975
转载 计算一个无符整数中1Bit的个数
原创整理,转载请注明出处。 这是一个经常遇到的经典问题,这里分两个部分讲解和总结,首先对讲解现有的算法,然后再讲解一些 改进 算法。1.循环法(Iterated Count ) int bitcount (unsigned int n) { int count=0; while (n) { count += n & 0x1u ; n
2009-07-09 18:37:00 2667 2
转载 毕业生需了解薪酬待遇交金交税的情况
毕业生需了解薪酬待遇交金交税的情况作为毕业生,了解薪酬待遇交金交税的情况是必须的,在签约的时候,很多公司会运用一些数字游戏,误导大家的理解。比如,工资算税前还是税后的计算,一些补贴的情况。本人在此作为小结,希望对大家有帮助。薪酬待遇主要包括:工资、奖金、补贴、福利、股票(股权)、保险、公积金。 工资:l
2009-07-09 18:35:00 1669
转载 grub系统引导管理器破解root密码
如果是grub系统引导管理器的话破解root密码启动时出现grub引导界面如图1根据提示按下字母 "e"键编辑出现如图2移动光标到第二行然后再次按字母"e"键出现如图3然后在"root=LABEL=/"后面输入linux 1 (或者single意为单用户模式)完成后敲回车键(Enter)出现如图4然后再工具
2009-07-09 18:34:00 967
原创 Plat挂载文件系统
1.文件系统问题这是一个NFS的mount问题,需修改 /etc/export 文件添加目录需挂的文件系统:/home/sunyubo/ 192.12.*.*(rw,sync,no_root_squash)2.TS播出问题蓝拓扑(BlueTop)AVC->5.1和5.2US->5.2并且软件和驱动要对应
2009-07-09 18:31:00 618
转载 UNIX 高手的 10 个习惯
Michael Stutz (stutz@dsl.org), 作者, 顾问 2007 年 2 月 09 日 采用 10 个能够提高您的 UNIX?命令行效率的好习惯——并在此过程中摆脱不良的使用模式。本文循序渐进地指导您学习几项用于命令行操作的技术,这些技术非常好,但是通常被忽略。了解常见错误和克服它们的方法,以便您能够确切了解为何值得采用这些 UNIX 习惯。 引言
2009-07-09 18:29:00 451
原创 不能姑息任何编码错误
很多文章都是讲如何书写正确的代码,如何书写高效的代码,其实代码中的错误、BUG才是真正应该正视的。非常感谢下面这位分享经验的前辈!warning比error更重要!!!!引用——“只有你不给自己留退路,你才会真正关心代码质量”1、错误必须正确分类网线断掉、硬件不稳定等等都是正常情况,设计师必须预先考虑到这些,设置合理的处理/恢复逻辑。代码中的逻辑错误
2009-07-09 18:29:00 969
转载 fgets和gets
两者主要在安全性上存在差别。函数名: fgets功 能: 从流中读取一字符串用 法: char *fgets(char *string, int n, FILE *stream);形参注释:*string输入数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针序 例:#include #include
2009-07-09 18:28:00 1252
转载 G10光学变焦级数
以前我一直以为G10的光学变焦和单反相机的变焦镜头一样是无级的。后来在使用中我逐渐发现,G10的镜头的变焦并非如单反那样是无级的,并非是可以停留在任意位置上的。于是我开始对镜头的光学变焦进行测试。每次尽量使用最小的变化量,结果发现镜头的变焦确实不是无级的,而是分为14级。除了这预先设好的14级外,用户调不出其他的变焦倍数来。这14级分别是:1、6.1mm; 相
2009-07-09 18:27:00 822
转载 dup和dup2函数
1. 文件描述符在内核中数据结构 在具体说dup/dup2之前, 我认为有必要先了解一下文件描述符在内核中的形态。一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2), 0与进程的标准输入相关联,1与进程的标准输出相关联,2与进程的标准错误输出相关联,一个进程当前
2009-07-09 18:26:00 2565
转载 do{}while(0)
在Linux内核中,经常会看到do{}while(0)这样的语句,许多人开始都会疑惑,认为do{}while(0)毫无意义,因为他只会执行一次,加不加do{}while(0)效果是完全一样的,其实do{}while(0)主要用于宏定义中。这里用一个简单点的宏来演示:#define SAFE_FREE(p) do { free(p); p
2009-07-09 17:53:00 516
转载 zip命令
文件压缩和归档有时候,我们需要把一组文件贮存成一个文件以便备份或传输到另一个目录甚至另一个计算机上。有时候,我们还需要把文件压缩成一个文件,因而它们仅使用少量磁盘空间并能更快地通过互联网下载。理解归档文件(archive file)和压缩文件(compressedfile)间的区别对用户来说十分重要。归档文件是一个文件和目录的集合,而这个集合被贮存在一个文件中。归档文件没有经过压缩
2009-07-09 17:48:00 1001
原创 calloc函数
calloc不同于malloc,是对所分配的内存初始化。测试程序如下:*****APUE中很重要的一句话:calloc将分配的内存空间初始化为0。但是ANSI C并不保证0值与浮点0或空指针的值相同。#include #include #include void calloc_int(void);void calloc_char(void);void calloc_
2009-07-09 17:30:00 2987
转载 浅析Linux下core文件
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。
2009-07-09 17:22:00 452
转载 linux下Subversion服务架设
一、工具准备 Apache Web服务器:httpd-2.2.4.tar.bz2 Subversion源码包及依赖包:subversion-1.4.3.tar.bz2 ,subversion-deps-1.4.3.tar.bz2 (下面假设apache和svn源码都解压到了/home/tmp下) 二、安装Apache Apache的安装就根平时安装Apache没什么两样,都记得要打开dav模块和动
2009-07-09 17:19:00 603
原创 小知识
—————————————————————————————————————— 非代码部分 ——————————————————————————————————————— 1. 对于有些用Secure CRT,在windows下面粘贴过来的代码,可以用Visual(在Vim下面按'v'),然后选中需要修改的代码,按"=",就可以使其对齐了。 2. Vim由7.1
2009-07-09 17:18:00 1387
转载 堆和栈的区别
一、程序的内存空间一个典型的Linux C程序内存空间由如下几部分组成:代码段(.text)。这里存放的是CPU要执行的指令。代码段是可共享的,相同的代码在内存中只会有一个拷贝,同时这个段是只读的,防止程序由于错误而修改自身的指令。初始化数据段(.data)。这里存放的是程序中需要明确赋初始值的变量,例如位于所有函数之外的全局变量:i
2009-07-09 17:04:00 564
原创 RGB和YUV
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class
2009-07-09 16:37:00 1743
SecureCRT
2007-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人