不同操作系统的API差异及FreeBSD Port 使用源代码

简介: 不同操作系统的API差异及FreeBSD Port 使用源代码

一、Windows操作系统克服了CPU以为的硬件差异


计算机的硬件并不仅仅是由CPU组成的,还包括用于存储程序指令的数据和内存,以及通过I/O连接的键盘、显示器、硬盘、打印机等外网设备


在Windows软件中,键盘输入、显示器输出等并不是直接向硬件发送指令。而是通过向Windows发送指令实现的。因此,程序员就不用注意内存和I/O地址的不同构成了。


Windows操作的是硬件而不是软件,软件通过操作Windows系统可以达到控制硬件的目的



二、不同操作系统的API差异性


接下来我们看一下操作系统的种类。同样机型的计算机,可安装的操作系统类型也会有多种选择。例如:AT兼容机除了可以安装Windows之外,还可以采用 Unix 系列的 Linux 以及 FreeBSD(也是一种Unix操作系统)等多个操作系统。当然,应用软件则必须根据不同的操作系统类型来专门开发。CPU的类型不同,所对应机器的语言也不同,同样的道理,操作系统的类型不同,应用程序向操作系统传递指令的途径也不同


应用程序向系统传递指令的途径称为 API(Application Programming Interface)。Windows 以及Linux操作系统的API,提供了任何应用程序都可以利用的函数组合。因为不同操作系统的API是有差异的。所以,如何要将同样的应用程序移植到另外的操作系统,就必须要覆盖应用所用到的API部分


键盘输入、鼠标输入、显示器输出、文件输入和输出等同外围设备进行交互的功能,都是通过API提供的


这也就是为什么 Windows 应用程序不能直接移植到Linux 操作系统上的原因,API差异太大了


在同类型的操作系统下,不论硬件如何,API几乎相同。但是,由于不同种类CPU的机器语言不同,因此本地代码也不尽相同


三、FreeBSD Port 帮你轻松使用源代码


既然CPU在不同会导致本地代码不同,那为何不将源代码直接发送给程序呢?Unix系列的 FreeBSD 操作系统就使用了这种方式


Unix系列操作系统 FreeBSD中,存在一种名为 Ports 的机制。该机制能够结合当前运行环境的硬件环境来编译应用的源代码,进而得到可以运行的本地代码。如果目标应用的源代码在硬件上找不到,Ports就会自动使用 FTP 连接到相应站点下载代码


FreeBSD 的 Ports机制:



全球很多站点都提供使用于 FreeBSD的应用源代码。通过使用 Ports 可以利用的程序源代码,大约有16000种。根据不同的领域进行分类,可以随时使用


FreeBSD上应用的源代码,大部分使用C语言来标注的 ,C编译器 可以结合 FreeBSD的运行环境来生成合适的本地代码


FTP(File Transfer Protocol)是连接到互联网上的计算机之间的传送文件的协议  


目录
相关文章
|
10月前
|
算法 Linux API
【Linux系统编程】Linux下删除文件的 API方式以及文件删除机制差异
【Linux系统编程】Linux下删除文件的 API方式以及文件删除机制差异
231 0
|
4月前
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
5月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
131 3
|
3月前
|
安全 生物认证 Android开发
深入探索iOS与Android操作系统的安全性差异
本文旨在通过对比分析iOS和Android两大主流移动操作系统在安全性方面的差异,揭示它们各自的安全机制、面临的挑战以及用户如何提升自身设备的安全保护。通过对系统架构、应用审核机制、数据加密方式及隐私政策的深入探讨,本文为读者提供了一个全面了解两大平台安全性的视角,并提出了实用的安全建议。
|
4月前
|
IDE 安全 Android开发
深入探索Android与iOS操作系统的架构差异
本文旨在对比分析Android和iOS两大主流移动操作系统在架构设计上的根本差异。通过详细解读两者的系统架构、开发环境、以及安全性等方面,揭示它们各自的特点及优势,为开发者选择合适的平台提供参考。
|
4月前
|
安全 定位技术 Android开发
深入探索Android与iOS操作系统的安全性差异
【10月更文挑战第21天】 在当今数字化时代,智能手机已成为我们生活中不可或缺的一部分。其中,Android和iOS作为两大主流操作系统,各自拥有庞大的用户群体。然而,它们在安全性方面的表现却大相径庭。本文将深入探讨Android与iOS在安全机制、隐私保护以及应对恶意软件方面的差异,帮助读者更全面地了解这两个平台的安全特性。
|
4月前
|
安全 Android开发 iOS开发
深入探讨Android与iOS操作系统的差异性
本文旨在通过对比分析Android和iOS两大主流移动操作系统,揭示它们在设计理念、用户体验、安全性、应用生态及系统更新等方面的根本差异。不同于传统的功能列表式摘要,本摘要强调了两大系统背后的哲学思想及其对用户日常使用的实际影响,为读者提供了一个宏观且深入的视角来理解这两种操作系统的独特之处。
|
5月前
|
安全 Android开发 iOS开发
Android vs iOS:探索移动操作系统的设计与功能差异###
【10月更文挑战第20天】 本文深入分析了Android和iOS两个主流移动操作系统在设计哲学、用户体验、技术架构等方面的显著差异。通过对比,揭示了这两种系统各自的独特优势与局限性,并探讨了它们如何塑造了我们的数字生活方式。无论你是开发者还是普通用户,理解这些差异都有助于更好地选择和使用你的移动设备。 ###
111 3
|
9月前
|
安全 Java Android开发
Android 与 iOS:探索两大操作系统的差异与优势
本文将深入探讨安卓和iOS这两大主流移动操作系统的差异与优势。我们将分别从用户界面、应用生态系统、开发者支持以及性能与安全方面进行比较,帮助读者更好地了解并选择适合自己的操作系统。
231 0
|
4月前
|
Web App开发 API Windows
取接口访问者信息[IP,浏览器,操作系统]免费API接口教程
此API用于获取访问者的IP地址、浏览器和操作系统信息,支持70多种浏览器和操作系统。通过POST或GET请求至`https://cn.apihz.cn/api/ip/getapi.php`,需提供用户ID和KEY。返回结果包括状态码、消息、IP、浏览器和操作系统信息。示例:{"code":200,"ip":"175.154.88.178","browser":"Chrome","os":"Windows 10"}。详情见官网文档。