最近我买了Herbert Schildt的第四版The Complete Reference C ++。 在本书的第三页,我遇到了一个标题,"如果您正在使用Windows"。它说:
如果您的计算机使用的是Windows,那么您选择了正确的语言。 C ++完全适用于Windows编程。但是,本书中没有一个程序是Windows程序。相反,它们是基于控制台的程序。其原因很容易理解:Windows程序本质上是庞大而复杂的。创建甚至最小的窗口骨架程序所需的开销是50到70行代码。要编写演示C ++特性的Windows程序,每个程序需要数百行代码。简而言之,Windows不适合讨论编程语言的功能。但是,您仍然可以使用基于Windows的编译器来编译本书中的程序,因为编译器将自动创建一个控制台会话,以执行您的程序。
如果这一段意味着我应该使用Windows或其他操作系统,我根本不明白......有人可以为我简化这个吗?
答案 0 :(得分:3)
作者说,是的,您可以在他的书中为所有程序使用基于Windows的编译器。但是,不要期望任何花哨的图形界面,因为它们会显着增加所需代码的复杂性。
答案 1 :(得分:1)
使用哪种操作系统并不重要,因为大多数C ++程序都是跨平台的。我认为本书的作者意味着Windows是一个很好的操作系统,因为他认为WinAPI非常适合C ++。你不应该真的担心那个段落,特别是在你学习的时候。只需使用您最熟悉的操作系统。
答案 2 :(得分:1)
您可以使用Visual Studio IDE为使用Visual C ++编译器的Windows创建C ++程序,也可以在Windows上使用GNU Compiler与Cygwin或MinGW来编译C ++程序。微软为系统特定的调用提供了一个Win32 API,我认为作者指出,因为它是C ++新学习者的额外开销。当我们在学校学习面向对象的C ++编程时,我们已经使用Visual Studio和Visual C ++编译器,因为实验室的计算机上安装了Windows。而且,在我们通常使用C语言的其他课程中,我们使用Linux和GCC来编译我们的其他C / C ++项目。对于简单的项目,C / C ++不依赖于系统,您可以在学习时使用您想要的任何内容。我建议在Linux上使用GCC(如果你有Windows,可以使用VirtualBox),它也可以帮助你理解编译器和链接器的工作原理。
控制台程序通常用于简单任务,例如printf()
,因此它们与系统无关。如果您想学习特定于系统的任务,例如多进程编程,您可以选择目标系统并为其工作。
答案 3 :(得分:0)
作者建议,该书中提供的C ++程序也可以在其他操作系统上编译,因为它们不使用特定于操作系统的命令。如果我是你,我现在会忽略该段落,因为它只是说“你可以在任何操作系统中编译和运行程序,而不仅仅是windows”。