cross-platform - 如何编写跨平台程序?

标签 cross-platform

我搜索了一些关于跨平台编程开发的文献,但没有找到真正好的东西。

我不是在寻找像 Java 那样的跨平台虚拟机。

有没有关于这方面的书籍或文献?

最佳答案

我会说这归结为:

  • 不使用非标准的“标准库”功能,其中非标准取决于您的目标平台(例如 POSIX 兼容系统)。例如,如果您使用 C,请不要使用 popen()如果您希望您的应用程序在非 POSIX 系统上运行。
  • 确保在需要的地方正确处理字节序,例如当您通过网络将数据传输到另一台可能使用不同字节顺序的计算机时。
  • 只编写兼容的代码,例如不要依赖 GCC/VC/name-your-compiler 特定功能。

  • 在更实际的层面上,我的建议是:
  • 使用抽象出您需要的非标准功能的跨平台库,或者编写您的代码来处理您所针对的所有平台。
  • 并且,与上述点相关,远离非跨平台依赖。例如。使用 OpenGL 代替 Direct3D,使用 Qt/Gtk/whatever 代替您的平台 native 小部件工具包。

  • 编辑:还有更多的东西需要考虑,比如不假设 /用作路径分隔符,或者对文件名中允许使用哪些字符做出无效假设。

    关于cross-platform - 如何编写跨平台程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3217329/

    相关文章:

    Linux 和 Windows 中的 java.io.File 和路径

    c - OSX/Ubuntu/Soliars 上的信号量行为不同,线程执行超出 sem_wait()

    javascript - 打开应用程序时自动启用蓝牙可发现性?

    c++ - 快速跨平台 C/C++ 散列库

    c++ - 如何在 C++ 中比较(目录)路径?

    C++获取独立于平台的耗时

    java - 是否可以使用 Jambi 制作完全原生感觉的 GUI?

    适用于 Windows、Mac 和 iOS 的音频库? OpenAL/OpenSL

    c# - os的Visual Studio条件编译

    c++ - VS2017不会将其他包含目录复制到远程环境(Linux),从而导致编译错误