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://blog.csdn.net/yongyu_it/article/details/77094089

2)https://blog.csdn.net/weixin_40039738/article/details/81867577

3)https://www.cnblogs.com/1130136248wlxk/articles/5308863.html

  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值