11 2012 档案
右左法则(指针阅读技巧解析)
摘要:右左法则(指针阅读技巧解析)1. 从最里层的圆括号中未定义的标示符看起2. 首先往右看,再往左看3. 当遇到圆括号或者方括号时可以确定部分类型,并调转方向4. 重复2,3步骤,直到阅读结束 int (*p)(int*, int (*f)(int*));==>>p是一个指针,指向一个含有两个参数的函数,函数返回值为int。参数(int (*f)(int*)) f为一个指针,指向一个函数,函数参数为int*,函数返回值为int。 int (*p[5])(int*);==>>p是一个数组,数组中存放指针,指针指向参数为int*返回值为int的函数 int (*(*p)[5]) 阅读全文
posted @ 2012-11-30 17:43 Daniel.G 阅读(325) 评论(0) 推荐(0)
数组指针<三>
摘要:数组指针和指针数组数组指针本质上是一个指针;数组指针指向的值是数组的地址type(*p)[n]指针数组本质上是一个数组;指针数组中每个元素的类型是指针type* a[n] 阅读全文
posted @ 2012-11-30 10:28 Daniel.G 阅读(191) 评论(0) 推荐(0)
实现库函数strlen和strcpy
摘要:strlen:用一条语句实现库函数strlen 1 #include <stdio.h> 2 #include <assert.h> 3 4 size_t strlen(const char* s) 5 { 6 return ( assert(s), (*s ? (strlen(s+1) + 1) : 0) ); 7 } 8 9 int main()10 {11 printf("%d\n", strlen( NULL));12 13 return 0;14 }===>>1:断言 2:三目运算符 3:递归 4:逗号表达式实现库函数strcp 阅读全文
posted @ 2012-11-29 15:04 Daniel.G 阅读(629) 评论(0) 推荐(0)
数组与指针<二>
摘要:数组的本质:数组是一段连续的内存空间数组的空间大小为sizeof(array_type)*array_size数组名可看做指向数组第一个元素的常量指针指针的运算:指针是一种特殊的变量,与整数的运算规则为:p+n <=> (unsigned int)p + n*sizeof(*p)当指针p指向一个同类型的数组的元素时,p+1将指向当前元素的下一个元素;p-1将指向当前元素的上一个元素。指针的运算:指针之间只支持减法运算,且必须参与运算的指针类型必须相同p1 – p2 <=> ( (unsigned int)p1 - (unsigned int)p2) / sizeof(t 阅读全文
posted @ 2012-11-29 13:57 Daniel.G 阅读(304) 评论(0) 推荐(0)
rpm命令选项中文说明
摘要:一、大纲查询与校验包:引用 rpm {-q|--query} [select-options] [query-options] rpm {-V|--verify} [select-options] [verify-options] rpm --import PUBKEY ... rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE ...安装、升级和删除包:引用 rpm {-i|--install} [install-options] PACKAGE_FILE ... rpm... 阅读全文
posted @ 2012-11-28 14:57 Daniel.G 阅读(10396) 评论(0) 推荐(0)
tar命令详解
摘要:以三大常见操作为序说明。1、备份引用-d, --diff, --compare找出归档文件和文件系统的不同之处-r, --append将文件附加到归档文件之后-u, --update只附加比归档中新的文件-A, --catenate将 tar 文件附加到归档文件之后--concatenate与 -A 相同--delete从归档文件中删除(不能在磁带上!)-N date, --newer=date, --after-date=date只将比指定日期更新的文件保存到备份文件--exclude=pattern排除符合查找模式的文件-P, --absolute-names备份文件中的文件名使用绝对路径 阅读全文
posted @ 2012-11-28 14:44 Daniel.G 阅读(4390) 评论(0) 推荐(0)
数组与指针<一>l
摘要:**********************************************************常量与指针:const int* p; //p可变,p指向的内容不可变int const* p; //p可变,p指向的内容不可变int* const p; //p不可变,p指向的内容可变const int* const p; //p和p指向的内容都不可变当const出现在*号左边时指针指向的数据为常量当const出现在*后右边时指针本身为常量*************************************************... 阅读全文
posted @ 2012-11-27 15:33 Daniel.G 阅读(961) 评论(0) 推荐(0)
struct占用的内存大小
摘要:struct占用的内存大小第一个成员起始于0偏移处每个成员按其类型大小和指定对齐参数n中较小的一个进行对齐 • 偏移地址和成员占用大小均需对齐 • 结构体成员的对齐参数为其所有成员使用的对齐参数的最大值 结构体总长度必须为所有对齐参数的整数倍 阅读全文
posted @ 2012-11-26 15:28 Daniel.G 阅读(206) 评论(0) 推荐(0)
vmware中的bridge、nat、host-only的区别
摘要:概述:VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。 在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访.. 阅读全文
posted @ 2012-11-25 14:12 Daniel.G 阅读(218) 评论(0) 推荐(0)
linux系统开发基础-汇总
摘要:1.硬盘表示方法1 主分区和扩展分区不能多于4个(<=),主分区不可少。扩展分区不能超过1个。2 扩展分区不能直接使用,需要再分成逻辑分区,逻辑分区在理论数量上没有限制。3.Window 采用文件挂在盘符下面,而linux下采用分区挂在文件下。4.hd/(sd)a(bcd)1(123456) hd 表示 IDE, sd 表示SCSI, 字母a 表示第一块硬盘 ,b 表示第二块 依次类推。1234 分别表示第1到第4块主分区/扩展分区,5-6分别表示第1-第2块逻辑分区。2.关于发行版:1 查看内核版本uname -rcat /proc/version################### 阅读全文
posted @ 2012-11-23 09:55 Daniel.G 阅读(556) 评论(0) 推荐(0)
学会SVN的应用----源代码托管
摘要:关于SVNSvn是什么?Svn官方网站;Svn客户端;Svn在线视频帮助。Subversion是什么?SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。Subversion能做什么?SVN像时光机器一样,可以让你回到过去。因此凡是你认为可能需要恢复以前样子的工作都可以用SVN来管理。比如程序员编程、美工做图、翻译、异地监控工作进度,可以说SVN不仅在软件工程领域发挥重大作用,在其他行业也用重要用途。例如两个人合作翻译一本书、几个人设计一个工程图纸,svn不仅可以让你的工作恢复以前的状 阅读全文
posted @ 2012-11-22 21:22 Daniel.G 阅读(483) 评论(0) 推荐(0)
SVN中检出(check out) 和 导出(export) 的区别
摘要:SVN是常用的一种常见的版本控制软件。SVN中检出(check out) 和 导出(export) 的区别主要有如下几条:check out跟check in对应,export跟import对应。check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commit操作。导出文件夹下没有.svn目录。 阅读全文
posted @ 2012-11-22 20:59 Daniel.G 阅读(384) 评论(0) 推荐(0)
tftp在put上传的时候显示File not found的解决办法
摘要:tftp在put上传的时候显示File not found的解决办法在linux下,不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。根据(1)的安装方法,可以修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:service tftp{ socket_type =dgram protocol =udp wait =yes user =root server =/usr/sbin/in.tftpd server_args =-s /home/lqm/tftpb 阅读全文
posted @ 2012-11-22 12:05 Daniel.G 阅读(3151) 评论(0) 推荐(0)
制作交叉编译工具链的方法总结(详细)
摘要:网上这类文章比较多,但是都不是很具体,刚好有门课结课论文要写这个,所以就总结了一下。以下的过程都是在ubuntu7.10上实际运行过的。手工制作交叉编译工具在制作工具开始前先要选好所需要的Binutils、Gcc、glibc等组件的相匹配的版本。当然,它们的版本匹配选择较为复杂,这些组件的维护与发行完全是各自独立的,不同的组件组合在一起时,并不能保证其正常工作,版本之间可能存在冲突或BUG。一般可以参考别人的经验,成功使用某种版本的组合制作出了交叉编译工具,那么这样的组合应该是可以使用的。如果使用的包的组合是没人用过的,那么只能通过不断调试修改进行制作。一开始请使用每个套件最新出来的稳定版本, 阅读全文
posted @ 2012-11-10 19:34 Daniel.G 阅读(5117) 评论(0) 推荐(0)