上期答案
[073] 什么是内存泄漏?
当我们动态分配内存但以某种方式失去到达该内存的方式时,这称为内存泄漏。 在某些编程语言(如C ++)中,应释放(通过调用析构函数)完成的每个内存分配(例如,创建对象),否则,这些内存将泄漏且不再可用。 在某些其他语言(例如SystemVerilog,Java等)中,语言内部机制负责清理内存,并且内存泄漏的可能性较小。
[074] 编译器和解释器的区别是什么?
机器(例如计算机)理解代码是通过二进制的,机器可以理解的二进制代码称之为“机器码”。程序员通常使用高级编程语言(C,C++,Perl,Python)变写计算机程序或者代码。编译器和解释器就是将这些源代码转换为机器代码的程序。
编译器 | 解释器 |
---|---|
扫描整个程序并将整个源代码转换为机器代码 | 一次扫描并转化一行源代码 |
需要大量的时间去分析源代码 | 只需要少量时间用于分析源代码 |
输出机器专用的二进制码 | 输出代码是某种中间代码,由另一个程序解释 |
执行速度更快(计算机硬件运行) | 执行更慢(由另一个程序执行) |
扫描整个程序后报告错误 | 一直运行,直到遇到第一个错误,并且停止程序 |
你答对了吗
本期题目
[075] 静态语言和动态语言的区别是什么?
[076] 下面关于栈的观点哪个是错的?
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案