POSIX标准
1、什么是POSIX标准
它基本上是Portable Operating System Interface(可移植操作系统接口)的缩写,而X则表明其对Unix API的传承。POSIX标准定义了操作系统(很多时候针对的是类Unix操作系统)应该为应用程序提供的接口标准,从而保证了应用程序在源码层次的可移植性。如今主流的Linux系统都做到了兼容POSIX标准。
POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。
简单总结:
完成同一功能,不同内核提供的系统调用(也就是一个函数)是不同的,兼容POSIX标准的操作系统可以提供相同的API来解决这个问题。例如创建进程,linux下是fork函数,windows下是creatprocess函数。好,我现在在linux下写一个程序,用到fork函数,那么这个程序该怎么往windows上移植?我需要把源代码里的fork通通改成creatprocess,然后重新编译...
posix标准的出现就是为了解决这个问题。linux和windows都要实现基本的posix标准,linux把fork函数封装成posix_fork(随便说的),windows把creatprocess函数也封装成posix_fork,都声明在unistd.h里。这样,程序员编写普通应用时候,只用包含unistd.h,调用posix_fork函数,程序就在源代码级别可移植了。
2、POSIX标准的C/C++库
C/C++的标准库是指ANSI C/C++定义的标准库,这个是构成标准C/C++语言的基础。简称libc/libc++,常见的libc/libc++的实现有:UNIX C/C++,GUN C/C++,MicroSoft Visual C/C++
在标准C/C++库基础上,兼容POSIX协议的C/C++库就是POSIX标准的C/C++库,这些C/C++库可以直接操作符合POSIX标准的操作系统调用。
常见的POSIX标准C/C++库:
2.1 BSD,这个库是AOSP使用的标准C库。
2.2 Bionic,这个是BSD的衍生库,用于NDK开发
2.3 UNIX C/C++,GUN C/C++,MicroSoft Visual C/C++
本文链接:
1)https://www.geek-share.com/detail/2713423290.html
2)https://blog.csdn.net/weixin_40039738/article/details/81867577
3)https://www.cnblogs.com/1130136248wlxk/articles/5308863.html
- 点赞
- 收藏
- 分享
- 文章举报
- posix和perl标准的正则表达式区别
- IEEE的POSIX标准
- Linux下基于POSIX标准的共享内存操作示例
- POSIX标准总体分析
- POSIX标准接口
- posix和perl标准的正则表达式区别
- linux——posix标准下的信号量
- 解析posix与perl标准的正则表达式区别
- POSIX--操作系统标准
- POSIX标准总体分析
- 免费POSIX标准下载
- POSIX 标准
- UNIX 标准化 --ISO C标准 & IEEE POSIX 标准 &Single Unix Specification(SUS)
- posix和perl标准的正则表达式区别
- POSIX标准总体分析
- POSIX 最新标准下载
- 关于POSIX标准中的信号
- 如何将Linux端POSIX标准的程序移植到windows端 (一)
- POSIX标准, PThread和OpenMP
- [收藏]POSIX标准