我是C#.NET 和 Visual Studio 背景(以及一些 Objective-C / XCode)的C++新手。
我想用 C++ 编写跨平台(Windows、OS X、Linux)应用程序。我从 Mac 上的 TextMate 和 Windows 上的记事本开始,并在命令行/终端上使用 g++ 编译代码以在其平台上构建可执行文件。
当我开始使用 IDE(即VC++、XCode和Eclipse)时,我感到很困惑。在将代码粘贴到其中之前,我尝试了所有三个并创建了项目。如果我开始在一个 IDE 中进行编辑,我不知道如何让最终的一段代码在不同的平台上编译。
例如,如果我有一个类文件 - foo.cpp
. 在 Eclipse 中,它将生成foo.cpp
(在其中一个foo.h
, foo::foo()
)和一个单独的foo.h
头文件(在其中一个FOO_H_
文件等)。在 Xcode 中,它会生成一个文件夹包含Foo
和main.cpp
) foo.l
- 就是这样。为什么有区别?
我虽然 C++ 代码只是 C++ 代码,如果在该平台上编译,它会产生特定于平台的可执行文件。(例如在Mac 上编译,它变成Mac 可执行文件;如果在Windows 上编译,它变成Windows 可执行文件)。
看来,一旦我开始使用 IDE,我的 C++ 代码就会自动变得不可移植,因为所有这些我不了解的自动生成的文件。我尝试同时阅读有关 XCode、Eclipse 和 Visual Studio 的文档,这让我更加困惑。我只想写C++...
我也按照Stroustrup 的经典文本来学习 C++,并且在书中,没有提到任何文件的头文件或源.h
文件_H_
,以及生成所有这些文件的原因。
除了使用 Notepad/Textmate + G++ 编译器之外,我如何在一个可以跨平台的 IDE 中编写纯的、可移植的 C++ 程序,甚至有可能吗?