对于像hello.c这样简单的程序,我们可以依靠编译系统生成正确有效的机器代码,但是,有一些重要原因促使程序员必须知道编译系统是如何工作。
优化程序性能:现代编译器都是成熟的工具,通常可以生成很好的代码。作为程序员,我们确实需要了解编译器的内部工作。但是为了在C车那个徐做出好的编码选择,我们确实需要了解一些机器代码以及编译器将不同C程序中转化成机器代码的形式。
理解连接时出现的错误。根据我们的经验,一些最令人困惑的程序错误往往与连接器操作有关,尤其当你试图构件大型的软件系统。
避免安全漏洞,多年来,缓冲区溢出错误是造成大多数网络和Internet服务器上安装安全漏洞的主要原因。