- 博客(10)
- 收藏
- 关注

原创 -内存泄露初探-
某次面试,被问及内存泄露相关事宜,当时瞠目结舌,故现对此话题比较敏感。(1)WHAT 什么是内存泄露? 部分内存不在程序的管理范围内了,即脱离了管理。(2)WHY 内存泄露是怎么产生的?调用malloc分配内存之后,忘记调用相应的free函数释放它。从而导致废弃内存越来越多,从而可能导致程序或系统崩溃。(一种解决的简单方法就是使用 alloca 函数来代替 malloc 分配内
2007-09-29 21:23:00
553
原创 [阶段总结]一个多月的求职从心理准备、实际准备到网申、笔试、面试的整个前期阶段的总结
前言:《革命尚未结束,同志仍需努力! 》找工作还未结束,虽然已战罢一个阶段,简单的进行一下小结。(1)准备工作开始的太晚,准备不够充分,特别是心理未能提前重视起来,荒废了暑期的黄金时间。IT业公司招聘普遍开始较早,而且行业内部划分细致,知识方向繁多,各公司要求不一,需要早做准备。嵌入式开发公司:比较重视C语言/C++语言,数据结构与算法,甚至操作系统等知识;网络公司:计算机网
2007-11-05 18:33:00
587
原创 [Paper Test 1]一些数学的小型算法题
这些数学题正常情况下,难度系数基本为0,但在加了一些限制条件后,往往带来了一些困难,搜集整理下。1. 比较两个数的大小,不能使用大于、小于、if语句、? : 以及switch语句或其他判断语句。方案一:int max = ( (a+b) + abs(a-b) ) / 2 ; 方案二:int c = a - b;char *strs[2] = ("", "");c = un
2007-11-03 20:16:00
482
原创 关于用指针作为函数参数申请动态内存
其实一个很简单的问题,却现在才想明白,真suck...相信我们都知道传值调用参数时,不改变实际参数的值。原理:形参是实参的一个copy(副本),而不是指向同一块内存地址。于是用指针或引用就可以解决这个问题,大多数时候还会节省内存开销,因为不用作副本拷贝。这样一个例子:void test(char *ps){ ps = (char *)malloc(10*sizeof(char));}
2007-11-01 13:33:00
1135
原创 段错误(Segment Fault!)莫名的问题 by fish
段错误或段违规(segmentation violation)应该已经很清楚,之前有过一篇文章介绍过“段模型”。在一般硬件中,段错误是由于“内存管理单元”(负责支持虚拟内存的硬件)的异常所致,而该异常则通常是由于解除引用一个未初始化或非法值的指针引起的。如果指针引用一个并不位于你的地址空间中的地址,操作系统便会对此进行干涉。一个小型的会引起段错误的程序如下:int *p = 0;*p
2007-09-30 14:17:00
1838
原创 用于检查源代码的工具(更新中!)
用于检查源代码的工具 工具 位于何处 所做工作 cb 随编译器附带 C程序美化器,在源文件中运行这个过滤器,可以使源文件有标准的布局和缩进格
2007-09-29 15:27:00
1070
原创 C语言编译中的“段”
对于目标文件而言,“段”是二进制文件中简单的区域,里面保存了和某种特定类型(如符号表条目)相关的所有信息。section 是 ELF 文件中的最小组织单位。一个段一般包含几个section。不要把UNIX中段的概念跟Intel X86架构中段的概念混淆。在UNIX中,段表示一个二进制文件相关的内容块。 在Intel x86的内存模型中,段表示一种设计的结果。在这种设计中(基于兼容性原因),
2007-09-28 16:06:00
1052
原创 PC链接器提供的几个基本的I/O服务——BIOS程序
BIOS:BIOS(Basic Input/Output System,基本输入输出系统)全称是ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BIOS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即时要求,并按软件对硬件的操
2007-09-27 19:37:00
653
原创 理解C语言声明的优先级规则(一个复杂的例子)
A 声明从它的名字开始读取,然后按照优先级顺序依次读取;B 优先级从高到低依次是: B.1 声明中被括号括起来的那部分 B.2 后缀操作符; 括号()表示这是一个函数,而 方括号[] 表示这是一个数组。 B.3 前缀操作符; 星号
2007-09-27 13:32:00
1021
1
原创 some cases about "const" in C Program
关键字const并不能把变量变成常量!在一个符号前加上const限定符只是表示这个符号不能被赋值。也就是它的值对于这个符号来说是只读的,但它并不能防止通过程序的内部(甚至是外部)的方法来修改这个值。const最有用之处就是用它来限定函数的形参,这样该函数将不会修改实参指针所指的数据,但其他的函数却可能会修改它,这也许就是C和C++中const最一般的用法。---------〈C专家编程〉c
2007-09-26 16:39:00
466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人