日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 讓你從根本上了解系統函數,簡單快速

讓你從根本上了解系統函數,簡單快速 時間:2018-06-21      來源:未知

我們都知道C語言,C語言提供了通用的函數比如fread fwrite fclose,不論你在windows linux還是其他 操作系統上,都可以使用.這就是平臺無關性,所以C語言有很好的移植性.接下來我們思考一個問題,不同的操作系統windows linux,他們的設計肯定不一樣的,windows再設計之處肯定不會 考慮linux的設計,linux在設計之處也不會向微軟請教.所以問題是為什么都可以使用標準的C函數 ?

這要從操作系統 的系統調用說起.高級的操作系統都分為用戶態和內核態,說白了用戶態就是執行用戶程序的,比如QQ 微信.而內核是 操作系統管理硬件 內存 CPU的,應用程序因為在用戶態所以無法訪問硬件,這也保證了操作系統的安全性. 但是有時候應用程序需要操作硬件,比如打開攝像頭,那怎么辦呢.

解決辦法就是用戶程序請求操作系統打開,操作系統接收請求去打開硬件.所以真實的訪問過程不是應用程序直接訪問. 應用程序如何請求操作系統呢?這就是系統調用的功能.因為不同的操作系統管理方式 硬件訪問方式幾乎完全不同,所以不同的操作系統提供了完全不同的系統調用接口.這些接口 又稱為系統函數.

比如常見的linux下API:read write close open socket都是系統函數 ,可以完成操作系統的各種功能.windows上API 是不相同的,所以如果你直接使用這些系統函數,寫出來的代碼不具有移植性.

那怎么辦呢?解決方法就是對系統函數封裝一層,封裝為C庫. C庫 對外提供統一的接口,不同的操作系統提供不同的C庫,但是不同的C庫對外提供相同的 API,這也就保證了你基于C庫開發的代碼在不同的操作系統上具有 很好的移植性.記住,是很好,而不是絕對的.針對一些特殊的功能,我們也是針對操作系統進行處理.

下面一張圖來解釋他們之間的關系:

系統函數

上一篇:imageview的基本屬性介紹,通俗易懂

下一篇:java學習中如何認識反射,業內專家告訴你

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 婚前协议电视剧演员表| 女怕嫁错郎演员表| 宋元甫| 英雄重生| 连城诀1-40集全集免费| 七年级下册语文练习册| 国产在线 观看| 邯郸学步成语故事完整版| 迅雷 电影| 风月奇谭电影| 周琳皓| 蝴蝶视频在线观看| 侠客行演员表| 开国大典ppt课件| 操范冰冰| 跨世王妃奇遇短剧免费观看| 布莱克·莱弗利身高体重| 大珍珠演员表介绍| 香谱72图解高清大图及解释| 视频三级| 欧布奥特曼普通话| 崔哲浩| 日本大片ppt免费ppt| 日本大电影| kaya| 张静芝| shenin| 南通紫琅音乐节| 红海行动演员表| 一江深情简谱| 维尼琼斯| 秀人网周妍希| 风花电影完整版免费观看| 男同操视频| 顾峰| 赵士杰| 日韩免费观看视频| 杰深斯坦森全部电影| 男人脱衣服| 韩国最火主播朴曼妮| 手机在线观看电影网|