@
sqbing 功能相同的东西要互相代替也需要一些设计模式在中间调和,因为接口不同。
回答原帖问题
c库就是有一定功能的函数集合,该调用就调用,跟是不是纯c写东西没什么关系。
*nix 和 Windows 使用的库可以不同,因为同一个功能可以有不同实现,作为os,在文件管理,进程调度,甚至是内核的范畴上都可以有不同理解,有不同侧重,更别说用相同的库了,没有这种要求的。
c++可以理解成一种语法约束,当然还可以理解成要包括实现该约束的分析器和编译器。stl不是必要部分,但是是重要的补充。
c++可以理解成c的扩展,但是不是由于stl,而是新语法及约束的引人,最重要的是引人了面向对象的思想。注意到,这和stl没什么关系。
关于实现c++……我没有看错问题的话,这和什么库也没什么关系,你非得自己写都行……
另外,stl可以看作是大家达铖一致的接口,是标准库的一部分,就是是个标配,比如你买电脑标配1G内存,你还可以装其他内存条,也可以把原来这条拔掉不用。但是作为标准库,不管那个平台的编译器,它想要达到标准,就都希望实现这些接口使得使用它的人可以更好更轻松的移植他们的程序,但是实在不实现他,那也不能说他不是c++。所以不同编译器可以有不同的stl实现,但是接口是一致的。
uclibc,glibc都是纯c库,是两种具体实现了(不是stl的实现)。uclibc与glibc接口基本兼容,可以一定程度上互相替代。你连接前者就不用后者了。
至于他们和stl的替代关系,由于接口不同,直接替代是不可能的。他们都包括些基本功能,但是不能说相同,接口更不通。但是可以用一定的调和的方式。