|
发表于 2005-2-21 12:53:15
|
显示全部楼层
Post by linuuxx
近来,我反复想,原来编程的书都写错了,所谓目标代码(机器语言)是机器可直接运行,不对!应该是仍然依赖操作系统的语言,它仍然调用操作系统的命令,而不是直接可运行的,你们认为如何?
编程的书没有写错,只是你没有明白程序运行与系统软硬件平台的关系。一个编译成可执行文件的二进制文件通常只能在某个指定的平台上使用,因为这些程序在运行时,需要调用操作系统提供的各种系统调用,这些系统调用在另一个平台上一般是不会被支持的。Dos下的程序能在win95,win98下运行,那是因为微软出于商业考虑,提供了向后兼容性。但也不是无限的,在win2000和winXP下,就有很多dos程序运行不了。对于所谓的直接运行,只能作出狭义的理解,不能是无限制的。 |
|