面试中遇到的有趣的小问题
来源:互联网 发布:南方易学软件 编辑:程序博客网 时间:2024/06/06 03:12
频繁地malloc与free内存会有什么问题
频繁的malloc与free会造成内存碎片化的问题,从而无法进行大容量内存的分配,当然,有的库对此进行了优化,比如glibc,free掉的内存不会立即返还给操作系统,而是先给空闲内存链表,然后当再次进行malloc时会先从空闲内存链表中寻找合适的内存块。可以看看这个:http://www.valleytalk.org/wp-content/uploads/2015/02/glibc%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86ptmalloc%E6%BA%90%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%901.pdf 当然还可以使用内存池。
如下程序能否运行
demo.h
#include <cstdio>int main(
demo.cpp
){ printf("hello\n"); return 0; }
答案是能运行,我们需要重新回忆一下C/C++的编译步骤,“首先是预处理阶段,这个阶段,编译器以C文件作为一个单元,首先读这个C文件,发现头文件,就会在所有搜索路径中寻找这两个文件,找到之后,就会将相应头文件中再去处理宏,变量, 函数声明,嵌套的头文件包含等,检测依赖关系,进行宏替换,看是否有重复定义与声明的情况发生,最后将那些文件中所有的东东全部扫描进这个当前的C文件中,形成一个中间C文件”。到这里结果就很清楚了,程序为什么能编译执行
判断链表是否有环
很经典的一道题目,想到了一切好说,想不到就GG,别人已经总结得很好了,我就不再搬一次砖了,请参看: http://blog.csdn.net/thefutureisour/article/details/8174313
阅读全文
0 0
- 面试中遇到的有趣的小问题
- 编程中遇到的有趣的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试中遇到的问题
- 面试:----面试中遇到的问题
- Java多线程学习中遇到的一个有趣的问题
- 一个有趣的小问题
- 面试中可能遇到的问题
- 面试过程中遇到的问题
- Android面试中经常遇到的问题
- Web前端面试中遇到的问题
- java面试中遇到的问题
- mongodb删库札记
- 转载(springmvc+spring+mabatis)配置
- 1.基础语法(2)变量
- 一、ajax基础语法使用(Ajax入门)
- bzoj3400 [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
- 面试中遇到的有趣的小问题
- Java语言中String、Integer、int相互间的转换
- (网易2018校招笔试)[编程题] 游历魔法王国
- AspectJ
- 对称|非对称密钥&完整性
- 间接寻址实现
- IntelliJ Idea 2017 免费激活方法
- 数列求和
- Linux系统的服务控制