c++ - 跨平台 C/C++ 开发资源

标签 c++ c portability

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

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

我经常编写应在 Linux/gcc、cygwin、mingw32 和 Visual Studio 下编译的代码,而且我经常需要比较来自多个来源(Linux 手册页、MSDN、编译器文档)的注释以获取我需要的信息。这一定是开发人员一直遇到的问题 -- 是否有任何资源可以将此信息编译成易于理解的引用?

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

编辑:这是我正在寻找的页面类型的示例:http://predef.sourceforge.net/precomp.html .对各种编译器/环境和可用于识别它们的预处理器宏的很好的调查。当不存在通用函数时,如果能找到一个类似的资源来比较跨平台的几乎等效的函数(例如 Linux 中的 gmtime_r() 或 ftime() 与 Windows 中的 _gmtime_s() 或 _ftime()),那就太好了。

最佳答案

这是一个可能对您有用的资源 Pre-defined C/C++ Compiler Macros

关于c++ - 跨平台 C/C++ 开发资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/971319/

相关文章:

c++ - 关于 C++ 中全局内联函数的示例

c++ - 使用 fgets() 从文件读取会导致 "Access Violation reading from address..."c++

c - kbhit() 和 getch() 和系统 ("cls"的可移植替代方案)

python - 在可移植 python 上安装 kivy

c++ - ffmpeg/libx264 C API : frames dropped from end of short MP4

c++ - 我们可以在 C++ 中创建一个虚拟的类复制构造函数吗

c++ - 通过指针用自定义类填充 vector - 构造函数有问题

通过 C 程序与 cmd session 进行对话

c - C语言中如何让scanf一次只读取一个字符

c++ - 可移植共享对象?