【问题标题】:how can libraries achieve portability among different OS库如何实现不同操作系统之间的可移植性
【发布时间】:2015-05-13 19:45:06
【问题描述】:

类似于 c/c++ 标准库。

由于标准库中的函数最终会调用特定的操作系统 API 来完成它的工作,如果我想编译我的代码以在其他操作系统上运行,这些语言库如何实现可移植性。 这些库会改变它的代码(对特定操作系统 API 的调用)吗?这些库的不同版本是否针对不同的操作系统?要不然是啥 ? 提前致谢。

【问题讨论】:

标签: c++ c dll operating-system


【解决方案1】:

一个简单的例子..

#ifdef OS_WINDOWS
   //definition for Windows
#else
  //define it for Unix
#endif

他们使用预处理器来确定操作系统,使用一些指针技巧来确定字节顺序。一般没有什么太复杂的。 一旦 stds 确定操作系统,使用预定义的定义.. 他们使用相关的适当代码。

// Real-life example:
if(definition == 2) system("cls");
else system("clear");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 2010-11-13
    相关资源
    最近更新 更多