我在学stl,请问egcs编译器在哪儿有下?

hhlinjun 2003-05-13 10:54:16
~~
...全文
45 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mikeshi 2003-05-18
  • 打赏
  • 举报
回复
但是我一个功能复杂一点儿的程序(计算文件的CRC值的程序),BCB6 59K,Dev-C 98.1k,BC3.1无法胜任(它的long长度虽然为4Byte,但是无法表示无符号的32位数,所以不知道它的结果),都是可以脱离dll,bpl等文件的独立版本。
aiyinsitan 2003-05-17
  • 打赏
  • 举报
回复
一个hello world程序:( 没有优化 )
cl 24k, BCB 56k, gcc 27k, lcc 7k;
当然, 这不是对编译器的完整测试
mikeshi 2003-05-16
  • 打赏
  • 举报
回复
楼上说的对,我就一直用它,不过它产生的代码没有BC的好,用BCB产出的代码是它的2/3,如果是能用BC3.1产生代码,那就差别更离谱了,BC3.1里8k的代码,它要100多k,幸好现在硬盘和内存都用用G来算的了。另外,它编译的速度也不爽。
zhoushengqun 2003-05-14
  • 打赏
  • 举报
回复
请问什么是stl?
zdleek 2003-05-14
  • 打赏
  • 举报
回复
www.gcc.org 下载gcc
http://www.bloodshed.net/ -- Dev-C++(免费的C++ IDE,使用的是GCC编译器)
mikeshi 2003-05-14
  • 打赏
  • 举报
回复
现在的gcc就是原来的egcs了,合而为一了。在linux下的gcc是支持stl的
hhlinjun 2003-05-13
  • 打赏
  • 举报
回复
刚看书,几个东西不知道,比如egcs,gcc都是编译器,有什么不同?
STL和标准 我经常提及C++标准,因为《Effective STL》专注于可移植的,与标准一致的C++。理论上,我在这本书里演示的一切都可以用于每个C++实现。实际上,那不是真的。编译器的缺陷和STL实现凑合成防止一些有效的代码编译或表现出它们应该有的行为。那是很常见的情况,我描述了这些问题,而且解释了你应该怎么变通地解决他们。 有时候,最容易的变通办法是使用另一个STL实现。附录B给一个这种情况的例子。实际上,STL用得越多,编译器和库实现的区别就越重要。程序员在设法让合法的代码编译时遇到困难,他们通常责备他们的编译器,但对于STL编译器可能是好的,而STL实现是不良的。为了强调你得依赖编译器和库实现的事实,我使用你的STL平台。一个STL平台是一个特定编译器和一个标准模板库特定实现的组合。在本书里,如果我提及一个编译器问题,你能确信我意思是编译器有问题。但是,如果我说你的STL平台有问题,你应该理解为“可能是编译器缺陷,可能是库缺陷,或许都有”。 我一般提及你的“编译器们”——复数。那是我长期相信你通过确保代码可以在多于一个的编译器上工作的方法来改进你的代码质量(特别是移植性)的产物。此外,使用多个编译器一般可以简化拆解由STL的使用不当造成的错误信息难题。(条款49致力于解码此类消息的方法。) 关于与标准一致的代码,我强调的另一个方面是你应该避免构造未定义行为。这样的构造可能在运行期做任何事情。不幸的是,这意味着它们可能正好做了你想要的,而那会导致一种错误的安全感。太多程序员以为未定义行为总会导致一个明显的问题,例如,一个分段错误或其他灾难性的错误。未定义行为的结果实际上更为狡猾,例如,破坏极少引用的数据。它们也可以通过程序运行。我发现一个未定义行为的好定义是“为我工作,为你工作,在开发和QA期间工作,但在你最重要的用户面前爆炸了”。避免未定义行为很重要,所以我指出了它会出现的通常情况。你应该训练你自己警惕这样的情况。

24,857

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧