百科问答小站 logo
百科问答小站 font logo



C标准库的行业地位是怎么形成的? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

C(以及C++)标准库并没有形成绝对的垄断地位。Linux那边,其实POSIX库比C库影响更大,做Linux开发的人可能更倾向于使用open而不是fopen去打开文件,因为后者的效率要差一些。

用纯C标准库开发的代码,有些可能是基于跨平台考虑,比如Windows对POSIX库的支持就不如C库好,这种情况用C库就更可靠一些。

C库能做的事情很少,比如线程(任务)控制、图形等等,要实现这些功能,很多时候还要依赖于操作系统或者相关的库提供新的API来支持。C语言提供了thread.h,但开发者更倾向于使用POSIX里的pthread去实现相关的功能。

仅仅是stdio stdlib string这三个最常用的头文件定义来说,真的谈不上什么深度封装,这里的大部分函数都是体力活,如果不考虑性能的话,普通本科生写出这三个标准库的实现并不困难,比写OS要简单的多。

另外,C标准库很小,比POSIX小太多了。


user avatar   xi-yang-86-73 网友的相关建议: 
      

并没有。实际上稍微有点想法的综合SDK,在包装基本功能的时候都会用操作系统特异的API。




  

相关话题

  C 与 C++ 谁的效率高,为什么? 
  多核CPU中,利用多线程进行排序中出现了一些奇怪的现象,不知道其背后的原因是什么,希望有人能给予解答? 
  C语言中,为什么(int) ((100.1 - 100) * 10) = 0? 
  通俗地讲为何要有返回值? 
  为什么 C 语言没有被 C++ 取代? 
  C++的运行时多态,性能损失有多大? 
  如果有两颗药丸,一颗吃了让你写代码100%不出错,另一颗吃了能让你100%发现并修改bug,选哪颗? 
  老师要求我只能使用C++、C或者Java写算法,如何看这种做法? 
  像C语言这样的编译型语言能否在不同CPU上,通过相同标准库的编译器,用源代码实现跨平台? 
  为什么 Unix 一切皆文件的设计这么成功,而 C++ 统一的流式 IO 则不甚成功? 

前一个讨论
怎样才能避免重蹈马拉松事故?
下一个讨论
为什么 Linux 系统删除文件那么快?





© 2025-04-24 - tinynew.org. All Rights Reserved.
© 2025-04-24 - tinynew.org. 保留所有权利