社区
工具平台和程序库
帖子详情
为什么boost要编译啊?
gemo
2010-01-19 01:56:56
为什么不全部用头文件呢
这个问题困扰着我。。。
...全文
721
20
打赏
收藏
为什么boost要编译啊?
为什么不全部用头文件呢 这个问题困扰着我。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
suanyuan
2010-03-01
打赏
举报
回复
有 compiler 支援編譯 template
nscboy
2010-02-28
打赏
举报
回复
感觉主要是为了加快后期适用boost的工程的编译速度.
否则的话,一个几行的程序都要编译半天.也是一件很难忍受的事情.
这要不适用预编译的化,要白白浪费多少时间啊.这简直等于谋杀生命啊
Bruce Jia(上海)
2010-02-02
打赏
举报
回复
有的模块先编译一下会节省很多时间的,比如thread
某某9
2010-02-02
打赏
举报
回复
哦。原来!
mitterand
2010-01-29
打赏
举报
回复
就算编译后,也要用头文件吧。
就算是C++自己的库也要用头文件。
再说BOOST很多库是用其他语言编译的。
[Quote=引用 2 楼 gemo 的回复:]
LS的 我是说boost为什么不全部用头文件
[/Quote]
mitterand
2010-01-29
打赏
举报
回复
就算编译后,也要用头文件吧。
就算是C++自己的库也要用头文件。
再说BOOST很多库是用其他语言编译的。
[Quote=引用 2 楼 gemo 的回复:]
LS的 我是说boost为什么不全部用头文件
[/Quote]
fo1_sky
2010-01-29
打赏
举报
回复
[Quote=引用 13 楼 wangxing221 的回复:]
为什么不把编译好的东西放出来呢?省的每个人都要重新编译
[/Quote]
这就是开放源代码了,不然,还谈什么源码开放
wangxing221
2010-01-28
打赏
举报
回复
为什么不把编译好的东西放出来呢?省的每个人都要重新编译
luoweisong
2010-01-26
打赏
举报
回复
boost编译之后,使用boost库,再编译自己的cpp文件时就快得多了
linglongyouzhi
2010-01-22
打赏
举报
回复
貌似有些东西是平台相关的
jackyjkchen
2010-01-19
打赏
举报
回复
再者,从模块化编程的角度,我们通常不希望所有的代码都集中在一块,可能一个独立的功能就希望做成一个单独的库,声明统一和固定下来,以后可以就单独修改某个库的实现而不用全部重新编译。
举个简单例子,微软的C标准库是以dll形式提供的,假如某个库函数有bug,那么只要微软修复了这个bug,那你的程序不用重新编译,就自动也修复了bug
jackyjkchen
2010-01-19
打赏
举报
回复
[Quote=引用 8 楼 gemo 的回复:]
重复包含的问题 用条件编译可否解决?
为什么一定要编译成二进制的库呢?boost中绝大部分类都只有hpp 都不能编译成二进制的库啊
[/Quote]
之所只有hpp,是因为他们是泛型类,使用模板,模板无法分离编译,只能放在hpp里。
至于二进制库的问题,从纯技术角度说将少则几十个多则甚至几十万个源文件编译为一个lib、dll、so、a文件供人调用要清爽得多;
从商业角度看,如果没有二进制库dll,微软的所有sdk、api都以源文件形式提供,他的商业机密如何保护?
gemo
2010-01-19
打赏
举报
回复
重复包含的问题 用条件编译可否解决?
为什么一定要编译成二进制的库呢?boost中绝大部分类都只有hpp 都不能编译成二进制的库啊
jackyjkchen
2010-01-19
打赏
举报
回复
[Quote=引用 6 楼 gemo 的回复:]
声明和实现是否分开 就能代码风格的好坏吗?
java和c#都是不分开的好像
[/Quote]
C#和java没有头文件,当然不分。
C++如果不分的话会有许多严重的问题,比如重复包含,比如无法编译二进制库(没有cpp文件)。
一定要脱离一个程序只有一个cpp的那种helloworld程序的思想
gemo
2010-01-19
打赏
举报
回复
声明和实现是否分开 就能代码风格的好坏吗?
java和c#都是不分开的好像
jackyjkchen
2010-01-19
打赏
举报
回复
[Quote=引用 2 楼 gemo 的回复:]
LS的 我是说boost为什么不全部用头文件
[/Quote]
看来是个新手,对于非泛型(模板)编程,生命和实现应该分开,如果说全用h文件,boost将是一个代码风格极差没人用的垃圾库
gemo
2010-01-19
打赏
举报
回复
比如?全局变量?
taodm
2010-01-19
打赏
举报
回复
因为不是所有东西都可以纯用头文件。
gemo
2010-01-19
打赏
举报
回复
LS的 我是说boost为什么不全部用头文件
jackyjkchen
2010-01-19
打赏
举报
回复
也可以不编译,你把需要的boost的Cpp文件全部加进工程里或makefile里,在使用时再编译。
相信你这样玩过一次以后就不想再玩第二次
VS2010使用
boost
::geometry库时为什么
编译
不通过说明
Boost
1.73 中的
Boost
.Geometry 弃用了对 C++03 的支持,从
Boost
1.75 开始需要C++14。
编译
boost
asio http/server 方法
这段时间学习
boost
的asio 编程,想
编译
asio自带的http/server的程序,无奈在网上根本找不到方法,只能自己摸索学习。 登陆
boost
asio 的example 目录,(我
boost
安装在/opt目录下) cd /opt/
boost
_1_55_0/libs/asio/example/cpp03/http/server
编译
命令: g++ *.cpp -...
Boost
库的
编译
Boost
库本身不用多介绍,每个用C++的人都对它有或多或少的概念。尽管它存在着是否过度设计、是否学院派这类的争论,不过作为C++标准库的 后备它的优秀是谁也否认不了的。下面是网上摘录的一段:这世上总会有一些智慧让你吃惊。
Boost
就是这样的东西。
Boost
没有修改C++的任何规则。它是一个完全符合C++规范的代码库。
对于大部分
Boost
应用来说,它是不用
编译
的,直接包含头文件就可使用,如:any
array
asio
conversion
boost
:asio
编译
转载自:http://www.cnblogs.com/lidabo/p/3782293.html 环境: VS2010,
boost
1.38.0,解压缩后放在,D:/
boost
_1_38_0。 編譯bjam(这个我没有试过,转过来以后参考) 利用Visual Studio 2005 Command Prompt開啟DOS視窗,將目錄c
VS2015
编译
使用
Boost
库遇到的问题及正确
编译
使用教程
VS2015+
Boost
1.79.0时出现的问题:
boost
库不兼容,需要降
boost
库版本了,下载1.73.0之前版本的
boost
库包均可。 VS2015+
Boost
1.69.0正确
编译
使用!
工具平台和程序库
24,851
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章