9、程序装载:“640K内存”真的不够用么?计算机这个行业的历史上有过很多成功的预言,最著名的自然是“摩尔定律”。当然免不了的也有很多“失败”的预测,其中一个最著名的就是,比尔·盖茨在上世纪80年代说的“640K ought to be enough for anyone”,也就是“640K内...2025-11-01
8、ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?过去的三节,你和我一起通过一些简单的代码,看到了我们写的程序,是怎么变成一条条计算机指令的;if…else这样的条件跳转是怎么样执行的;for/while这样的循环是怎么执行的;函数间的相互调用是怎么发生的。 我记得以前,我自己在了解完这些...2025-11-01
7、函数调用:为什么会发生stack overflow?在开发软件的过程中我们经常会遇到错误,如果你用Google搜过出错信息,那你多少应该都访问过Stack Overflow这个网站。作为全球最大的程序员问答网站,Stack Overflow的名字来自于一个常见的报错,就是栈溢出(stack overf...2025-11-01
6、指令跳转:原来if...else就是goto上一讲,我们讲解了一行代码是怎么变成计算机指令的。你平时写的程序中,肯定不只有int a = 1这样最最简单的代码或者指令。我们总是要用到if…else这样的条件判断语句、while和for这样的循环语句,还有函数或者过程调用。 对应的,C...2025-11-01
5、计算机指令:让我们试试用纸带编程你在学写程序的时候,有没有想过,古老年代的计算机程序是怎么写出来的? 上大学的时候,我们系里教C语言程序设计的老师说,他们当年学写程序的时候,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)”。用这种设备写程序,可没法...2025-11-01