- 博客(5)
- 收藏
- 关注
转载 从一道面试题看指针与数组的区别
指针是C语言的精华,它是一柄“双刃剑”,用的好与坏就看使用者的功力了。下面就一道面试题,看一下指针与数组的区别。 char *p1, *p2; char ch[12]; char **pp; p1 = ch; pp = &ch; p2 = *pp; 问p1和p2是否相同?题目如上,找出其中的不妥之处。 首先,数组ch是没有初始化的。其次,一个比较隐含的地方
2009-12-13 19:11:00 1245
转载 什么是堆?什么是栈?
一 英文名称 堆和栈是C/C++编程中经常遇到的两个基本概念。先看一下它们的英文表示: 堆――heap 栈――stack二 从数据结构和系统两个层次理解 在具体的C/C++编程框架中,这两个概念并不是并行的。深入到汇编级进行研究就会发现,栈是机器系统提供的数据结构,而堆是由C/C++函数库提供的。这两个概念可以从数据结构和系统两个层次去理解: 1、从数据结构
2009-12-13 18:48:00 1146
原创 gdb调试器命令学习总结笔记
Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参
2009-12-13 17:41:00 664
原创 Unix记录锁使用总结
1. 原理说明在Unix系统中,记录锁的功能是:一个进程正在读或修改文件的某个部分时,可以阻止其他进程修改同一文件区。即其锁定的是文件的一个区域或整个文件。记录锁有两种类型:共享读锁,独占写锁。基本规则是:多个进程在一个给定的字节上可以有一把共享的读锁,但在一个给定字节上的写锁只能有一个进程独用。即:如果在一个给定的字节上已经有一把读或多把读锁,则不能在该字节上再加写锁;如果在一
2009-12-13 17:27:00 1715
原创 Linux内核中常见内存分配函数
1. 原理说明Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表,如图2-1所示。四级页表分别为:l 页全局目录(Page Global Directory)l 页上级目录(Page Upper Directory)l 页中间
2009-12-13 10:20:00 10791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人