标准库函数、系统调用的区别
標(biāo)準庫函數(shù)是對系統(tǒng)調(diào)用的封裝,以方便移值。
人們在長期編程中發(fā)現(xiàn)使用系統(tǒng)調(diào)用有個重大的缺點,那就程序的移植性,比如說:linux 系統(tǒng)提供的系統(tǒng)調(diào)用的函數(shù)和 windows 就不一樣,二者不單單是實現(xiàn)的方式不同,提供給用戶的函數(shù)名,參數(shù)都不同,這個可以理解。因此一個實現(xiàn)好的程序,利用了 linux 的系統(tǒng)調(diào)用譬如說 wait4 函數(shù),那么他在 windows 上編譯是通不過的。于是人們想了個辦法,就是封裝了 windows 和 linux 系統(tǒng)調(diào)用,給大家一個統(tǒng)一的函數(shù)(我習(xí)慣叫它接口),那么這樣程序的移植性問題就解決了。
所以可以這么認為庫函數(shù)是對系統(tǒng)調(diào)用的封裝(不是所有的庫函數(shù)都是),為的是解決一些公共的問題和提供統(tǒng)一的系統(tǒng)調(diào)用的接口,他和系統(tǒng)調(diào)用的優(yōu)缺點就是:系統(tǒng)調(diào)用速度是明顯要快于庫函數(shù)(并不一定全部是,但絕大部分是),但系統(tǒng)調(diào)用缺乏移植性。庫函數(shù)速度要慢,但解決了移植問題。這些在開發(fā)過程中要根據(jù)自己的實際情況來決定使用那一個。
?
(SAW:Game Over!)
總結(jié)
以上是生活随笔為你收集整理的标准库函数、系统调用的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是死锁,产生的原因,防止死锁的办法
- 下一篇: ubuntu / 18.04 系统上配置