社区
工具平台和程序库
帖子详情
为什么boost要编译啊?
gemo
2010-01-19 01:56:56
为什么不全部用头文件呢
这个问题困扰着我。。。
...全文
676
20
打赏
收藏
为什么boost要编译啊?
为什么不全部用头文件呢 这个问题困扰着我。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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里,在使用时再编译。
相信你这样玩过一次以后就不想再玩第二次
渭河流域边界及其河流分布-可编辑mxd文件+标准shape文件+标准成图TIF
渭河流域位于中国黄河中游地区,是黄河的重要一级支流流域,地理范围主要涵盖陕西省中部、甘肃东部和宁夏部分地区。该流域自西向东延伸,总长约818公里,流域面积广阔,人口密集,是我国重要的农业与工业带,同时也是西北地区经济、文化与生态发展的核心区域之一。渭河流域水系发育完善,除干流外,还包括泾河、洛河、沣河、滈河等多条支流,构成了完整的河网体系,对黄河流域的水资源调配与生态安全具有重要意义。 本数据集提供了渭河流域矢量边界及河流分布的标准化shp文件,包含以下文件: (1)可编辑MXD文件:可直接在 ArcGIS 中打开,用户可进行二次编辑、专题制图及空间分析,方便科研、教学与管理应用。 (2)标准SHP文件:包含渭河流域边界矢量数据以及干流与主要支流的矢量化河流线条,属性表中附带河流名称、流域隶属等信息,便于查询与叠加分析。 (3)标准成图TIF文件:输出高清、规范的地图成果,能够直观展示渭河流域整体边界与内部河流分布格局,可用于汇报、展示与出版。 本资源可广泛应用于流域水资源管理、生态环境保护、土地利用研究、洪涝灾害评估等领域,同时也能为流域综合治理、生态修复规划、水文模拟与地理建模提供基础支撑。通过与其他数据(如DEM、土地覆盖、气象数据)叠加使用,还能开展更加深入的多源数据分析,为黄河流域高质量发展与区域生态安全提供科学依据。
Java编写的基于Swing的贪吃蛇游戏舞台实现
java资源。Java编写的基于Swing的贪吃蛇游戏舞台实现。实现贪吃蛇游戏核心舞台逻辑,包含移动控制、碰撞检测、食物生成与绘制功能。
旧型饼形图七
Webji-7.html
mmexport1758112344884.mp4
mmexport1758112344884.mp4
xee-temp-anomaly 代码
xee_temp_anomaly 代码
工具平台和程序库
24,857
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章