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

跨平台C/C++开发资源
EN

Stack Overflow用户
提问于 2009-06-09 17:04:37
回答 4查看 1K关注 0票数 7

有哪些资源可以帮助编写跨多个平台和编译器的C/C++代码?例如,我经常会问这样的问题:

  • 在各种编译器和环境中自动定义哪些预处理宏?(例如__GCC__WIN32__WIN32____CYGWIN__)
  • 哪些版本的编译器和标准库支持相对较新的“标准”函数(例如,C99长双三角函数sinl()、cosl()、.)
  • 在没有单一的可移植功能的情况下,在不同的平台上可以使用哪些功能来执行典型的任务?(例如,以亚秒精度获得当前时间)

我经常编写在Linux/gcc、cygwin、mingw32和Visual下编译的代码,我经常需要比较来自多个来源(Linux页面、MSDN、编译器文档)的注释才能获得我需要的信息。这一定是开发人员经常遇到的问题--有什么资源可以将这些信息编译成易于理解的引用吗?

(对于这个问题,我对跨平台库(如wxWidgets或boost )并不特别感兴趣。我对资源或技术更感兴趣,这些资源或技术可以帮助人们编写自己的跨平台库或程序。

编辑:这是我要找的页面类型的一个例子:http://predef.sourceforge.net/precomp.html。对各种编译器/环境以及可用于识别它们的预处理宏进行了很好的调查。如果不存在公共函数,那么最好能找到一个类似的资源来比较跨平台的几乎等价的函数(比如Linux中的gmtime_r()或ftime()与_gmtime_s()或_ftime() )。

EN

回答 4

Stack Overflow用户

发布于 2009-06-09 17:42:03

这里有一个可能对您预定义的C/C++编译器宏有用的资源

票数 4
EN

Stack Overflow用户

发布于 2009-06-09 17:10:33

编写跨平台代码的基本方法是编写不依赖于特定平台的代码。例如,几乎所有的原始UNIX实用程序都可以在不引用特定平台的情况下编写。使用条件编译编写依赖于特定宏的代码不是最佳实践。

票数 1
EN

Stack Overflow用户

发布于 2009-06-09 17:35:12

这取决于你的具体计划,但我会尽力

  • 如果可能的话,遵守ISO规范和POSIX标准;
  • 使用-Wall并消除所有警告;
  • 检查autoconf和autotoolset是否可以帮助。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/971319

复制
相关文章

相似问题

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