首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习和跨平台开发(C++)

学习和跨平台开发(C++)
EN

Stack Overflow用户
提问于 2009-10-13 04:31:34
回答 10查看 12.2K关注 0票数 18

我正在写一个有趣的和扩展我的C++技能的小C++程序。由于它的范围相对较小,我也计划尝试跨平台开发,使这个程序同时支持Windows和Linux。

我估计我的C++熟练程度介于临时和中级水平之间: OO,一点模板和设计模式,以前使用过STL,并试图更详细地研究它,...然而,在编写这个小程序时,我发现我对C++的研究越深入,我就越感到痛苦,特别是当我开始理解和处理不同平台/供应商的实现之间的差异时。

像Qt,ACE,Boost这样的跨平台框架的使用似乎有助于加快开发速度,从而使生活变得更容易,但我担心这是否会违背我的目标。如果有做C++跨平台开发的“最佳实践”,有人能给点建议吗?谢谢。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-10-13 04:40:41

如果有进行C++跨平台开发的“最佳实践”,有人能给点建议吗?

有三件事:

  1. 编写您自己的代码,使其成为可移植的
  2. 包装抽象/隔离/实用程序层背后的特定于平台的API
  3. 选择跨平台库

您可以选择选项#2和/或#3。

与#2相比,#3的优点往往是,“它已经被编写、调试和支持了”;缺点是,“我必须学习它,我可能不得不为它买单,我自己不一定能支持它,而且它可能不能完全按照我想要的那样做。”

开发人员通常更喜欢选择#3而不是#2,特别是如果它是免费开源的(你引用的三个库都是)。

票数 17
EN

Stack Overflow用户

发布于 2012-12-01 00:57:02

http://blog.backblaze.com/2008/12/15/10-rules-for-how-to-write-cross-platform-code/

应该为已经给出的答案提供更多细节。

另外,我建议使用现有的库来抽象字符顺序、数据类型大小和差异。在开始您的跨平台项目之前,应该考虑以下几点。

图形用户界面

  1. Qt
  2. XVT
  3. wxWidgets

通用库/框架

  1. STL (Incorporated in most platform libraries already)
  2. Boost

游戏开发

  1. SDL
  2. Cocos2d-x
票数 16
EN

Stack Overflow用户

发布于 2009-10-13 04:39:37

用gcc吧。它在Windows和Linux上都可用,并且在这两个平台上的库和语言语法是相同的。

对于跨平台的GUI应用程序,Qt是一个好主意。如果您试图实现平台独立性,则无法摆脱对GUI框架的依赖。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1558194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档