Chinaunix

标题: “头文件库”这种形式有什么优点? [打印本页]

作者: fender0107401    时间: 2016-04-07 15:26
标题: “头文件库”这种形式有什么优点?
Boost里面有不少库都是“头文件库”,也就是指要包含一个头文件就行了。

但是这样的话,编译起来会增加编译时间吧?

所以我很想问问这种形式都有什么优点。
作者: VIP_fuck    时间: 2016-04-07 15:44
我觉得吧,boost 这么做是因为它的实现大部分是用模板做的,模板定义最好是放到同一个文件里,这样不至于导致连接错误。

不然一个头文件一个cpp文件我觉得也挺好,清晰。

坐等大牛指教
作者: windoze    时间: 2016-04-07 15:45
凡是在windows下用过“二进制库”的人都会爱死“头文件库”的。
作者: fender0107401    时间: 2016-04-07 15:54
本帖最后由 fender0107401 于 2016-04-07 15:55 编辑

回复 3# windoze

好有道理啊。。。为什么刚才我就没想到。。。


   
作者: windoze    时间: 2016-04-07 15:56
回复 4# fender0107401

说明你之前伤得不够深…………
作者: zhujiang73    时间: 2016-04-07 16:16
fender0107401 发表于 2016-04-07 15:26
Boost里面有不少库都是“头文件库”,也就是指要包含一个头文件就行了。

但是这样的话,编译起来会增加编 ...



     本来 C/C++ 这种头文件和库文件分开的做法就很另类,现在多数语言都没有什么头文件,一个库一个包,类型信息和库代码都在包里。
作者: hellioncu    时间: 2016-04-07 17:11
windoze 发表于 2016-04-07 15:45
凡是在windows下用过“二进制库”的人都会爱死“头文件库”的。


难道linux下有什么本质不同?
作者: windoze    时间: 2016-04-07 20:40
回复 7# hellioncu

像样的Linux发行版都有包管理器,所有的头文件和库都在统一的地方。
更重要的,Linux下只有一套ABI……

妈蛋Windows下光VC自己就有6套ABI还都不太兼容啊!!!!!再加上UWP现在已经有10套了!!!!!!!
这还没算32位和64位呢!!!!!!!!!!!
你说我给你个二进制的库光LIB文件就要给你十几个这叫个什么事啊!!!!!!!!!!!
作者: fender0107401    时间: 2016-04-07 20:55
最近在win下面搞cpp,各种不顺啊。。。
作者: hellioncu    时间: 2016-04-07 21:22
windoze 发表于 2016-04-07 20:40
回复 7# hellioncu

像样的Linux发行版都有包管理器,所有的头文件和库都在统一的地方。


不能这么比较呀,那我说Linux还分不同CPU什么的,库也不一样
作者: windoze    时间: 2016-04-07 21:46
回复 10# hellioncu

不同CPU只有交叉编译的时候才有啊,你就一台机器不搞交叉编译CPU又不会变。

VC那边是Debug和Release不兼容,静态链接和动态链接不兼容,还有个C++/CX和前面那些都不兼容!我还没提ARM呢!

作者: thy_shenzhen    时间: 2016-04-08 13:16
可以隐藏源代码,好卖啊
作者: cokeboL    时间: 2016-04-08 14:21
回复 11# windoze


    苹果系也是一样恶心
作者: truekbcl    时间: 2016-04-13 16:18
回复 3# windoze


    真相!win除了基本操作对小白"友好",其他基本一坨。对开发人员那简直就是各种虐,然而你还得对它如初恋。。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2