库如何在不同的操作系统之间实现可移植性
how can libraries achieve portability among different OS
喜欢C/C 标准库。
由于标准库中的功能最终会调用特定的OS API来完成其作业,因此,如果我想编译我的代码以在其他OS上运行,这些语言库如何实现可移植性。库会更改其代码(对特定OS API的调用)吗?,这些库的不同版本是否针对不同的操作系统?或者是什么 ?预先感谢。
一个快速示例..
#ifdef OS_WINDOWS
//definition for Windows
#else
//define it for Unix
#endif
他们使用预处理器来确定OS,一些指针技巧来确定Endianness。一般来说,没有什么太复杂了。STDS确定OS后,使用预定义的定义。他们使用与之相关的适当代码。
// Real-life example:
if(definition == 2) system("cls");
else system("clear");
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 大小相等但成员数量不同的结构之间的性能差异
- 类与私有变量的其他类之间的线程安全性
- 如何在cpp文件之间切换窗口?在Qt中
- 线程之间的布尔停止信号
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 读取USB与操作系统、C++之间传输的数据
- 库如何在不同的操作系统之间实现可移植性
- OpenGL应用程序代码在不同操作系统之间的可移植性
- C/C++裸机编译和针对特定操作系统(Linux)的编译之间有什么区别
- 操作系统服务与 C++ 之间的通信