|
|
1
1
如果在程序的一个头中包含boost头,并且程序的所有/许多.cpp文件都包含该头,那么boost头最终会包含在所有.cpp中,并为每个文件编译一次。 为了避免这种情况,您可以尝试在项目中的(一个)或几个.cpp文件中只包含boost头。 您还可以使用PIMPL习语,也称为“编译防火墙”。这个想法是,您只在程序使用的头中公开一个接口,如果实现需要boost,那么它只会出现在.cpp文件中,这样您就不会在任何地方都包含boost。 请注意,只有头的库实际上与共享库和静态库无关。对于共享/静态库,您可以通过预先编译库获得某种类型的目标代码。对于只有头的库,您要导入的只是代码中的模板定义,编译器会使用它们。它在精神上更接近静态,而不是共享链接,但实际上也不是。 |
|
|
Mark · 在中使用欧姆龙库。NET Core 2.0 8 年前 |
|
|
heather · 将引用的库压缩到Eclipse项目中 8 年前 |
|
|
user3902003 · 在Python中处理SVG 8 年前 |
|
|
sam_c · 当gradle中排除了库依赖时,后台会发生什么? 8 年前 |
|
|
4C554B41 504C · 窗户。Android上的h库 10 年前 |
|
Learning is a mess · 通过编译库加快编译速度 10 年前 |