生成一个“.COM”文件是指用Tiny存储模式编译程序,并用特殊的连接命令产生扩展名为".COM"而不是".EXE"的文件。记住,如果要使一个程序成为一个“.COM”文件,那么所有的代码、数据和栈都必须限制在64KB之内。这种存储模式通常只被一些很小的程序使用,例如TSR程序和小的实用程序。
每个编译程序生成“.COM”文件的方法都是不同的,你应该在编译程序手册中查找有关信息,以了解哪些编译选项或连接选项是用来生成".COM"文件而不是".EXE"文件的。
一个“.COM”文件的所有代码、数据和栈都被限制在64KB之内,因此,它只能用在一些小的应用中,例如实用程序和TSR程序(终止并驻留程序)。“.COM”文件的一个明显优点就是它的装入要比“.EXE"文件快得多。
“.COM”文件也被称作“内存映象”文件,因为它可以直接装入内存,不需要任何“处理”。
“.EXE"文件中包含了由连接程序插入到其它文件头中的一些特殊的组装指令,这些指令中包括一个用来管理可执行程序的不同部分的重定位表。“.COM”文件中不包含任何这样的指令或重定位表,因为整个程序可以装入64KB的内存空间中。因此,DOS不必去分析任何组装指令,“.COM”文件的装入速度也就比".EXE"文件快。
“.COM”文件通常很简单,因此它们所能实现的功能也就受到限制。例如,你不能在“.COM”文件中从远程堆中分配内存。