1

我有新的任务来研究开发 C++ 跨平台 (Mac/Win) 实用程序以满足我们内部需求的方式。

我已经使用不同的“粉红色”语言开发了 7 年,例如 C#、Java、托管 C++。但是在这个任务中,要求是支持 Mac,而在 Mac 上运行的 .NET 真的很痛苦(从其他使用过这个的人那里知道这一点)。

所以我开始考虑 C++ 是否可以使用 C++ 进行跨平台开发。该应用程序将不包含任何 GUI,但将包含大量系统 API 调用和大量业务逻辑分析。

是否有可能一些库允许实现这种任务?有可能吗?

4

2 回答 2

5

是的,您可以编写标准的 ISO C++ 并在两个平台上运行程序。

当您需要使用特定于平台的 API 来实现某些功能时(例如,在 Windows 上使用 Win32 和在 Mac OS 上使用 POSIX API),那么您要做的就是编写自己的包装器函数来抽象出平台特定的细节,然后在其余部分使用该包装器你的程序。

CMake之类的工具将允许您使用 Visual Studio 在 Windows 上构建程序并在 Mac 上构建程序,而无需手动管理单独的 Visual Studio 和 Xcode 项目文件。

于 2013-10-31T19:00:08.280 回答
2

如果我正确理解了您的问题,那么开发跨平台 C++ 唯一需要做的就是获得正确的编译器。您可以在两个平台上使用 GCC,甚至可以为 Visual Studio 和 xcode 使用 2 个不同的项目文件。这取决于你。就个人而言,我更喜欢 GCC。

关于代码本身,这取决于你用它做什么。STD 在两个平台上都可用(std::vector、std::string 等),因此代码应该在两个平台上都能正确编译。

编辑:顺便说一句,大多数平台特定的东西都可以通过开源代码获得(比如 boost 虽然我个人不太喜欢 boost)。如果需要,您甚至可以查看其他跨平台的开源项目(ogre3d 等)。

于 2013-10-31T18:40:17.663 回答