我有新的任务来研究开发C ++跨平台(Mac / Win)实用程序以满足我们的内部需求。
我使用不同的“粉红色”语言(如C#,Java,Managed C ++)开发了7年。 但是在这个任务中,要求是支持Mac,并且在Mac上运行的.NET真的很痛苦(从使用过它的其他人那里了解到这一点)。
所以我开始考虑使用C ++,如果可以使用C ++进行跨平台开发。 该应用程序将不包含任何GUI,但将包含许多System API调用和许多业务逻辑分析。
是否有可能允许某些库实现此类任务? 是否可以做到?
答案 0 :(得分:4)
是的,您可以编写标准的ISO C ++并在两个平台上运行程序。
当您需要使用特定于平台的API实现某些功能时(例如,在Windows上使用Win32和在Mac OS上使用POSIX API),那么您所做的就是编写自己的包装函数来抽象出平台特定的细节,然后使用该包装器在你的其他计划中。
像CMake这样的工具将允许您使用Visual Studio在Windows和Xcode上构建程序,以便在Mac上构建,而无需手动管理单独的Visual Studio和Xcode项目文件。
答案 1 :(得分:2)
如果我理解你的问题,开发跨平台c ++唯一需要的就是获得正确的编译器。您可以在两个平台上使用GCC,甚至可以为visual studio和xcode使用2个不同的项目文件。随你(由你决定。就个人而言,我更喜欢海湾合作委员会。
关于代码本身,它取决于你用它做什么。 STD在两个平台上都可用(std :: vector,std :: string等),因此代码应该在两个平台上都能正确编译。
编辑:顺便说一下,大多数平台特定的东西都可以通过开源代码获得(比如提升虽然我个人不喜欢提升那么多)。如果需要,您甚至可以查看跨平台的其他开源项目(ogre3d等)。