1 Star 0 Fork 0

huyi / TechCPP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
标准库函数和系统调用的区别.md 1.30 KB
一键复制 编辑 原始数据 按行查看 历史
葛昆仑 提交于 2023-11-15 18:10 . update: 2 articles
  1. 来源:
    • 系统调用:这些函数来自操作系统内核。它们是操作系统提供给应用程序直接访问硬件和系统资源的基础界面,例如读写文件、发送网络数据、创建进程等。
    • 标准库函数:这些函数是由C语言(或其他语言)运行时环境提供的,例如printf、strcpy、malloc等。
  2. 实现:
    • 系统调用:由操作系统内核代码实现,当一个进程执行系统调用时,它需要切换到内核模式来运行特权代码。
    • 标准库函数:通常使用用户模式下的普通代码实现,并且可能在其内部使用系统调用以提供其功能。
  3. 性能:
    • 系统调用:因为涉及用户空间到内核空间的上下文切换,所以相比于标准库函数,系统调用通常会有更高的开销。
    • 标准库函数:也可能引入一定的性能开销,如果它们内部使用了系统调用,但如果只是在用户空间进行计算,那么它们的开销就会小得多。
  4. 可移植性:
    • 系统调用:通常依赖于特定的操作系统,所以在不同操作系统之间的可移植性较差。
    • 标准库函数:大多数情况下,标准库函数在各种平台上的行为都是一致的,所以具有更好的可移植性。
1
https://gitee.com/hylhm/TechCPP.git
git@gitee.com:hylhm/TechCPP.git
hylhm
TechCPP
TechCPP
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891