1
choury 2016 年 3 月 27 日 stl 的是在 libstdc++ 里面,默认已经给你链进去了
|
2
vanxining 2016 年 3 月 27 日
STL 每个编译器都不同,怎么可能跟 Boost 是同一班人。
|
3
mushanshitiancai 2016 年 3 月 27 日 via Android
stl 是标准里的,编译器必须有实现, boost 则不是
|
4
abscon 2016 年 3 月 27 日 via iPhone 谁说 boost 都要链接库了?大部分都是 header only ,只需要 include 。
当然你得先有一份 boost 源码 |
5
hardware 2016 年 3 月 27 日
因为都在你的 ld path 里了
|
6
gulucn 2016 年 3 月 27 日
有一部分需要链接到库(如 thread),一部分不用
|
7
Neveroldmilk 2016 年 3 月 27 日
stl 的很多东西,只要是支持该标准的编译器,都默认内置实现了。 boost 都是自己搞起的,所以都要自己实现。
|
8
bp0 2016 年 3 月 27 日
因为 STL 是 Standard Template Library ,而 BOOST 只是 BOOST 。
当然 BOOST 中的一些内容已经被包含在 C++11 中了,但他还只是 BOOST 。 |
9
seeker 2016 年 3 月 27 日
如果是 windows 东西都在 msvcr.dll 里面
|
10
icenan2 2016 年 3 月 27 日
首先 STL 全称叫“ Standard Template Library ”,只是一套模板库,是不能直接编译的。你使用时包含一个头文件,给模板传递类型参数,叫模板实例化。而 boost 里并不全是模板库,所以有些东西是可以编译成 lib 供你 link 的
|
11
wizardoz 2016 年 3 月 28 日
跟是几伙人没有关系。
因为 STL 是标准库,所以链接的时候默认都是包含的。 而 BOOST 是第三方的,所以链接的时候不会默认包含,所以需要人为指定。 |
12
araraloren 2016 年 3 月 28 日
楼上的大多数就是没搞明白 stl , stl 本身是模板库,是不能做成动态库的,而因为大多数 stl 依赖的东西最多都是标准函数之类的,所以只要包含头文件就可以使用了,你使用`<thread>`试试,不还是要链接`pthread`库( linux 下)
|
13
eliteYang 2016 年 3 月 30 日
1.windows 自己的链接库,本身就是在自己 IDE 的环境里
2.STL 大多数都是 headonly 的,也就是说没有 cpp 3.boost 的大多数库也是 headonly ,也是不需要 lib 库的,只是少数库需要链接库 如果你比较纠结的话,建议直接用 C++11 14 标准 |