标准库函数、系统调用的区别
生活随笔
收集整理的這篇文章主要介紹了
标准库函数、系统调用的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
標準庫函數是對系統調用的封裝,以方便移值。
人們在長期編程中發現使用系統調用有個重大的缺點,那就程序的移植性,比如說:linux 系統提供的系統調用的函數和 windows 就不一樣,二者不單單是實現的方式不同,提供給用戶的函數名,參數都不同,這個可以理解。因此一個實現好的程序,利用了 linux 的系統調用譬如說 wait4 函數,那么他在 windows 上編譯是通不過的。于是人們想了個辦法,就是封裝了 windows 和 linux 系統調用,給大家一個統一的函數(我習慣叫它接口),那么這樣程序的移植性問題就解決了。
所以可以這么認為庫函數是對系統調用的封裝(不是所有的庫函數都是),為的是解決一些公共的問題和提供統一的系統調用的接口,他和系統調用的優缺點就是:系統調用速度是明顯要快于庫函數(并不一定全部是,但絕大部分是),但系統調用缺乏移植性。庫函數速度要慢,但解決了移植問題。這些在開發過程中要根據自己的實際情況來決定使用那一個。
?
(SAW:Game Over!)
總結
以上是生活随笔為你收集整理的标准库函数、系统调用的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是死锁,产生的原因,防止死锁的办法
- 下一篇: C/Cpp / 类的前向声明、不完全类型