• <delect id="m4os4"><cite id="m4os4"></cite></delect>
    <nav id="m4os4"><acronym id="m4os4"></acronym></nav>
  • <input id="m4os4"></input>

    環球新資訊:linux封裝函數,libc庫和封裝函數 | 求索閣

    2022-09-29 15:08:43來源:互聯網  

    Linux系統調用這部分經常出現兩個詞:libc庫和封裝函數,不知道你是否清楚它們的含義?

    libc


    (資料圖片僅供參考)

    1)libc概念

    libc是Stantard C Library的簡稱,它是符合ANSI C標準的一個標準函數庫。libc庫提供C語言中所使用的宏,類型的定義,字符串操作符,數學計算函數以及輸入輸出函數等。正如ANSI C是C語言的標準一樣,libc只是一個函數庫標準,每個操作系統都會按照該標準對標準庫進行具體實現。通常我們所說的libc是特指某個操作系統的標準庫,比如:在Linux操作系統下所說的libc即glibc。glibc是類Unix操作系統中使用最廣泛的libc庫,它的全稱是GNU C Library.

    2)glibc

    類Unix操作系統通常將libc庫作為操作系統的一部分,它被視為操作系統與用戶程序的接口。libc庫不僅實現標準C語言中的函數,而且也包含自己所屬的函數接口。比如:在glibc庫中,既包含標準C中的fopen(),又包含類Unix系統中的open()。在類Unix操作系統中,如果缺失了標準庫,那么整個操作系統將不能正常運轉。

    3)Window下的libc

    與類Unix操作系統不同的是,Windows系統并不將libc庫作為整個核心操作系統的一部分。通常,每個編譯器都附屬自己的libc庫,這些libc既可以靜態編譯到程序中,又可以動態編譯到程序中。也就是說,應用程序依賴編譯器而不是操作系統。

    封裝函數

    在Linux系統中,glibc庫中包含許多API,大多數API都對應一個系統調用,比如:應用程序中使用的接口open(),就對應同名的系統調用open()。在glibc庫中,通過封裝例程(Wrapper Routine)將API和系統調用關聯起來。API是頭文件中所定義的函數接口,而位于glibc中的封裝例程則是對該API對應功能的具體實現。事實上,我們知道接口open()所要完成的功能是通過系統調用open()完成的,因此封裝例程要做的工作就是先將接口open()中的參數復制到相應的寄存器中,然后引發一個異常,從而系統進入內核區執行sys_open(),最后當系統調用執行完畢后,封裝例程還要將錯誤碼返回到應用程序中。

    需要注意的是,函數庫中的API和系統調用并沒有一一對應的關系。應用程序借助系統調用可以獲得內核所提供的服務,但是,像字符串操作這樣的函數并不需要借助內核來實現,因此也就不必與某個系統調用關聯。

    不過,我們并不是必須通過封裝例程才能使用系統調用,syscall()和syscallx()兩個函數可以直接調用系統調用。具體的使用方法man手冊中已經說明的很清楚了。

    相關閱讀

    精彩推薦

    相關詞

    推薦閱讀

    亚洲成a人v在线观看,五月婷婷综合激情,亚洲视频在线一区,欧美限制级在线观看
  • <delect id="m4os4"><cite id="m4os4"></cite></delect>
    <nav id="m4os4"><acronym id="m4os4"></acronym></nav>
  • <input id="m4os4"></input>
    主站蜘蛛池模板: 成人精品一区二区三区中文字幕 | 中国一级特黄aa毛片大片| 黄色网页在线免费观看| 精品偷自拍另类在线观看| 成人无码嫩草影院| 国产hd高清freexxxx| 亚洲国产中文在线二区三区免| 中国sで紧缚调教论坛| 网络色综合久久| 日本片免费观看一区二区| 国产视频一区二| 免费看男女下面日出水来| 一区二区3区免费视频| 男女性潮高清免费网站| 天天色天天射天天干| 四虎影院在线播放视频| 亚洲AV永久精品爱情岛论坛| 99久久99久久精品免费观看| 精品精品国产高清a级毛片| 日韩一区二区三区在线播放| 国产的一级毛片最新在线直播 | 久久久久亚洲精品中文字幕| 金瓶全集漫画1到22回无遮| 欧美人与zoxxxx视频| 大女小娟二女小妍| 动漫美女羞羞漫画| 中文字幕无码av激情不卡| 黑人啊灬啊灬啊灬快灬深| 日本人强jizzjizz老| 国产国语一级毛片| 中文字幕在线观看网站| 精品午夜福利1000在线观看| 国精品无码一区二区三区在线| 免费A级毛片无码无遮挡| 91欧美激情一区二区三区成人 | 无码日韩AV一区二区三区| 国产女人的高潮大叫毛片| 中文字幕电影在线| 色一情一乱一伦一区二区三区| 无码综合天天久久综合网| 免费的一级片网站|