如何将 VC++ 项目编译为 16 位平面对象文件,以便在我正在处理的引导加载程序中使用?
据我了解,目标文件在技术上已经是“平面”的,链接器将其转换为目标可执行格式。我希望它能够获取该目标文件,并通过链接器传递该目标文件和我的汇编代码(obj 格式)以创建平面引导加载程序。
指南对于文件所在位置并不是很具体,只是说您使用
cl.exe
、link.exe
和ml.exe
(MASM)。
该指南使用 MASM,但我知道如何使用 NASM 输出目标文件。我的主要问题是 VC++ 的事情。
微软最后一个 16 位编译器是 VC++ 1.52c。它很古老,可能不再可用。即使是这样,它也很可能不会编译任何最近的代码。仅举几个最明显的缺点,它根本不支持模板、异常处理或命名空间。
我相信大多数从事此类工作的人都不再使用Open Watcom(它也不是最新的,但仍然比 VC++ 1.52c 更好)。