社区
C++ 语言
帖子详情
在vc7.1下直接使用sgi的stl源码的问题
20040216
2006-11-13 01:57:47
编译时提示fatal error C1001
网上查了一些资料,说的vc6的bug,不知道大家是怎么用sgi的stl的
用stlport又太麻烦,vc7.1对模板的支持达99%,为什么会出这个错误呢
...全文
250
15
打赏
收藏
在vc7.1下直接使用sgi的stl源码的问题
编译时提示fatal error C1001 网上查了一些资料,说的vc6的bug,不知道大家是怎么用sgi的stl的 用stlport又太麻烦,vc7.1对模板的支持达99%,为什么会出这个错误呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
20040216
2006-11-13
打赏
举报
回复
我们用stl很简单的功能,stl其实本来就是很简单的东西,如果不是要弄内存管理部分,根本不会看书,msdn就够了
因为我们清楚要做什么,用数组模拟性能不比stl差,如果写个容器类的可靠性得不到保证,那写其他类的可靠性又怎么能保证。
还是到主题上来,等会我看看是写allocator还是写简单容器
taodm
2006-11-13
打赏
举报
回复
哎,STL自己绝无内存泄漏。
你自己写的代码可靠性根本很难比得上STL。很多错误,不是多测试就能测出来的。
你还是让你们项目中STL最熟的兄弟,用最短时间看完《STL源码剖析》和《EffectiveSTL》吧。
20040216
2006-11-13
打赏
举报
回复
心里总有这样的障碍:代码不是公司写的,出了问题一时半刻不知道在哪里
本来很简单的功能,用stl还不如自己写简单的,多测试一段时间出错的可能也很小,出错了也很快就能知道
20040216
2006-11-13
打赏
举报
回复
恩,目前不是很了解
stl以前只是用它的vector和map放东西和做映射,有点用过了头,由于内存这块是stl自己管理,我们做内存泄漏检测不出来,可能是方法不对,stl自己使用的内存只是分配没有真正释放过,所以打算自己接管stl的内存管理部分,这样就想到用sgi的代码,结果编译就麻烦
上周末看了看《stl源码剖析》和sgi的相关代码,今天又看了看我们使用stl的部分,觉得80%的地方可以用数组去模拟,即使是map,动态增长也不是什么问题,等会再决定是不是自己做个简单的容器算了,用数组优点是很多的
taodm
2006-11-13
打赏
举报
回复
STL自己所用内存绝无泄漏。
对于windows这种有保护模式的OS,每个进程都有2G内存可用的,你的对象除非峰值时有数百万个,而平时才数个,才会有严重的内存差,那么接管内存也还有些意义。
你现在的主要问题还是不了解STL,所以惧怕它有问题。
要么,招一个精通STL的人参与项目,要么还是别用STL了吧。
20040216
2006-11-13
打赏
举报
回复
接管内存管理后至少内存泄漏很容易查,释放的内存多了后内存可以真的释放,而sgi的stl是不会释放内存的,总是缓存起来,而且大于128个字节的内存就系统默认的new和delte,这样为了效率对大对象又要做对象池
我们的程序基本不用stl的算法,只是用容器,因为可以自动增加大小,我在和别人商量下,看是不是写几个简单的容器用用就行了
taodm
2006-11-13
打赏
举报
回复
stl基本就不会错。它也没有任何错误处理。
如果你这么不了解STL,你们项目还是慎用STL吧。
接管STL内存管理也只能对检查内存越界有帮助。你恐怕要白费力气了。
20040216
2006-11-13
打赏
举报
回复
内存都是自己管理,泄漏问题不大
空指针的问题程序运行2天就出来了
内存越界运行期就出来了
我说的不知道问题在哪里是stl基本不会报错,有错都被它处理了,这样才可怕
taodm
2006-11-13
打赏
举报
回复
不使用STL才更加出了问题不知道错在哪呢。
内存泄漏、空悬指针、内存越界。。。。。
20040216
2006-11-13
打赏
举报
回复
我先试试自已写个allocator
刚下了个stlport5.1看的麻烦
本来不准备使用stl的,就是怕程序出了问题不知道错在哪里
taodm
2006-11-13
打赏
举报
回复
STL的实现虽然各有差别,但是实现功能都相同的。你没有必要了解每一种实现的具体代码。
写一个符合标准的allocator即可。无论是VC7.1/sgi stl/stl port都可以使用这个allocator来接管内存管理。
20040216
2006-11-13
打赏
举报
回复
sgi的代码容易阅读些,资料多,这样我们掌握起来方便些
直接接管vc7.1的stl的内存管理也行,是不是写一个符合标准的allocator就行了呢?
taodm
2006-11-13
打赏
举报
回复
stl的内存管理,你直接接管VC7.1的stl库的内存管理即可。
虽然不用VC7.1,但是我们的系统也接管STL的内存管理的。
所以,问你的原始需求即可,不要提误导性的问题。
20040216
2006-11-13
打赏
举报
回复
我主要是想接管stl的内存管理部分,对我们的程序做统一的内存管理
stl_config.h中我开了一些宏,结果错误更多,也可能是我开多了,vc7.1对模板特性的支持列表没找到,只能根据使用的经验开
stlport里面的东西太多了,自己不好掌握
taodm你在vc7.1下用过sgi的stl吗?
taodm
2006-11-13
打赏
举报
回复
模板编译的时候有很多宏要定义的。所以,直接使用很可能有问题的。
VC7.1自己的stl库应该够用了,除非你要hash_map/hash_set。
安装stlport也很简单的。
不知道你为啥有这个想法。
STL
(C++标准库,体系结构及其内核分析)(
STL
源码
剖析)(更新完毕)
STL
(C++标准库,体系结构及其内核分析)(
STL
源码
剖析)(更新完毕)
STL
的几个版本简要介绍
STL
(Standard Template Library,标准模板库)。
STL
是一些“容器”的集合,这些“容器”...
STL
的目的是标准化组件,这样就不用重新开发,可以
使用
现成的组件。
STL
现在是C++的一部分,因此不用额外安装什么。 在C++标
【C++】
STL
(标准模板库)简介
STL
版本
STL
六大组件
STL
缺陷
STL
学习阶段
C++
STL
简介
一、
STL
简介
STL
(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,...
(转)关于
STL
的趣闻
今天是第一天 开始Dragon,计划是先学习
STL
源码
,然后再学着写类库。 查了一下
STL
,却发现了一些有趣的信息: 原帖地址如下: ...一个是
SGI
STL
。
STL
之父离开HP之后就去了
SGI
(当然不是去搞侏罗纪公园),然后...
C++ 语言
64,691
社区成员
250,497
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章