上一节说道,汇编语言的代码已经告一段落了,接下来我们将进入C++的世界了。但是Visual C++不是被设计用来开发操作系统的。假如我们用Visual C++设计一个程序,那么在默认情况下,它必须跑在Windows下。所以我们必须做一些工作使得我们的程序能够脱离Windows运行。 因此,为了达到这个目的,我们必须对Visual C++的编译选项做一些特殊的配置。
首先,我们不能链接 Visual C++的运行时库。应为VC的运行时库依赖于Windows下的几个动态链接库。换句话说,我们必须自己为C++ 创建一个运行时库。至少,这个运行时库要支持C++异常,C++静态对象的初始化等等。我们将在下一节讨论C++运行时库的问题。为了不让Visual C++链接标准的C++运行时库,我们需要进行如下图的设置:
另外,由于我们不使用标准的运行时库,所以我们必须自己制定程序的入口点,如下图:
同时,我们需要打开编译器内置函数,以便调用一些常用的函数,比如端口输入输出等等。
最后,我们需要调整一下编译器的编译参数,下图中圈出的这两个选项都需要有运行时库支持,所以我们禁用掉这些编译选项。这可以简化我们自己的运行时库设计。
完成了这些操作后,Visual C++生成出来的代码就脱离了Windows的平台。只要我们再为其补上一个运行时库,一切就全部Ready了。后面几节将将讲述Visual C++的运行时库设计,以及Visual C++的异常实现机制。