free之后要记得指针置空 别看 free 和delete 的名字恶狠狠的(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。用调试器跟踪示例程序,发现指针p 被free 以后其地址仍然不变(非NULL),只是该地址对应的内存是垃圾,p 成了“野指针”。如果此时不把p 设置为NULL,会让人误以为p 是个合法的指针。如果程序比较长,我们有时记不住p 所指的内存是否已经被释放,...
C语言中变量的作用域和生命周期 谭浩强书:从存储模型可以看到,谭浩强和钱能的模型有一定的对应关系: 静态存储区 -> 全局数据区 动态存储区 -> 栈(stack)变量的类型: 1. 局部变量和全局变量 局部变量也称为内部变量。 局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。 全局变
free(p)后指针问题 笔试很喜欢考这些 #include #include #include int main(){ char *str = (char *)malloc(100); strcpy(str, "hello"); free(str); if(str != NULL) { strcpy(str, "world"); p
全局变量和局部变量在内存里的区别 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,
从spin_lock()到spin_lock_irqsave() Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。在Linux中,普通的spinlock由于不带额外的语义,是用起来反而要非常小心。在Linux kernel中执行的代码大体分normal和interrupt context两种。tasklet/softirq可以归为normal因为他们可以进入等待;nested interrupt是interruptcontext
mkimage工具讲解 uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么./mkima
ARM Linux 3.x的设备树(Device Tree) 1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach
Image uImage zImage U-Boot的区别 转于:http://kmoving.blog.163.com/blog/static/20504919720123151533819/(1)、内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。那么uImage又是什么的?它是uboot专
U-boot在S3C2440上的移植详解 U-boot在S3C2440上的移植详解http://www.embeddedlinux.org.cn/html/jishuzixun/201303/16-2499.html一、移植环境· 主 机:VMWare--Fedora 9· 开发板:Mini2440
今天刚知道原来参考文献可以自动生成 毕业论文不同于一般的小论文,特别是硕士毕业论文或者博士毕业论文。一般的小论文就四五页,而硕士论文动辄五六十页,有的甚至七八十页。所以有些东西如果要人工的去修改,将是一件非常痛苦的事情。痛苦的事情至少有两个:目录自动生成和编号、参考文献引用的上标。本文将从这两个方面说说小技巧,自动生成,非常方便。 先说两种痛苦情况。 设定好文章的目录结构后,突然发现中间要添加或者删除
五险一金(普及贴) 养老保险: 一般要交满15年,到退休的时候才能终生享受养老金,所以想拿养老金的人请务必在自己退休前15年就开始交。如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你。那单位给你交的21%到哪里去了?国家把单位为你交的21%的钱全部划到国家的养老统筹基金里了。国家规定,退钱的时候只退给个人自己扣交的钱,单位为他交的钱全部都为国家做贡献
毕业论文抄袭率过高不着急,修改过关技巧曝光 目前,高校对于硕博士论文,需要通过抄袭检测系统的检测才能算过关。对本科生来说,大部分学校也采取抽查的方式对本科论文进行检测。 抄袭过多,一经查出超过20%,后果严重。轻者延期毕业,重者取消学位。尼玛辛辛苦苦读个大学,学位报销了多不爽。PS:科研机构的检测标准不同,百分之20,百分之三十,百分之四十的都有。但是,软件毕竟是人工设置的一种机制,里面内嵌了检测算法,我们只要摸
BSS段、数据段、代码段、堆与栈 BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通常是指用
我妈要是知道这些,我早上北大了。 家有5,6,7岁的孩子赶紧保存,对上学很有帮助。注意力训练,有用。1.1. 第一关听课不走神题训练目的:训练学生学习能力,能使学生上课专心听讲,认真写作业,考试不粗心,提高学习成绩训练要求:每天训练10分钟,放学后在家里写作业前训练,由家长监督训练情况,必须每天坚持训练,效果明显。1.1.1. 数字传真训练方法:家长将下列每个数字读一遍,孩子在听完之后凭记忆
关于用JLINK下载程序到博创UP-TECH2410板子上自动重启的问题__zhusjian 问题是这样的大概一个月前,我在IAR6.1上建了一个S3C2410的工程,我这边有两种板子,一块优龙FS2410板子,两块博创UP-TECH2410的板子,对应的也有两种调试器,优龙的使用的是DragonJtag,一端跟电脑的并口相连接,一端连接板子的JTAG接口,优龙的板子是标准的20针JTAG接口,编译环境是ADS1.2,调试的时候还有AXD,你懂的,蛮老了,现在ADS好像是被KEIL收购
联合体union 当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员; 4)其对齐方式要适合其中所有的成员;下面解释这四条描
详解大端模式和小端模式 详解大端模式和小端模式一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令