社区
工具平台和程序库
帖子详情
我在学stl,请问egcs编译器在哪儿有下?
hhlinjun
2003-05-13 10:54:16
~~
...全文
45
7
打赏
收藏
我在学stl,请问egcs编译器在哪儿有下?
~~
复制链接
扫一扫
分享
转发到动态
举报
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都是编译器,有什么不同?
Effective
STL
STL
和标准 我经常提及C++标准,因为《Effective
STL
》专注于可移植的,与标准一致的C++。理论上,我在这本书里演示的一切都可以用于每个C++实现。实际上,那不是真的。
编译器
的缺陷和
STL
实现凑合成防止一些有效的代码编译或表现出它们应该有的行为。那是很常见的情况,我描述了这些问题,而且解释了你应该怎么变通地解决他们。 有时候,最容易的变通办法是使用另一个
STL
实现。附录B给一个这种情况的例子。实际上,
STL
用得越多,
编译器
和库实现的区别就越重要。程序员在设法让合法的代码编译时遇到困难,他们通常责备他们的
编译器
,但对于
STL
,
编译器
可能是好的,而
STL
实现是不良的。为了强调你得依赖
编译器
和库实现的事实,我使用你的
STL
平台。一个
STL
平台是一个特定
编译器
和一个标准模板库特定实现的组合。在本书里,如果我提及一个
编译器
问题,你能确信我意思是
编译器
有问题。但是,如果我说你的
STL
平台有问题,你应该理解为“可能是
编译器
缺陷,可能是库缺陷,或许都有”。 我一般提及你的“
编译器
们”——复数。那是我长期相信你通过确保代码可以在多于一个的
编译器
上工作的方法来改进你的代码质量(特别是移植性)的产物。此外,使用多个
编译器
一般可以简化拆解由
STL
的使用不当造成的错误信息难题。(条款49致力于解码此类消息的方法。) 关于与标准一致的代码,我强调的另一个方面是你应该避免构造未定义行为。这样的构造可能在运行期做任何事情。不幸的是,这意味着它们可能正好做了你想要的,而那会导致一种错误的安全感。太多程序员以为未定义行为总会导致一个明显的问题,例如,一个分段错误或其他灾难性的错误。未定义行为的结果实际上更为狡猾,例如,破坏极少引用的数据。它们也可以通过程序运行。我发现一个未定义行为的好定义是“为我工作,为你工作,在开发和QA期间工作,但在你最重要的用户面前爆炸了”。避免未定义行为很重要,所以我指出了它会出现的通常情况。你应该训练你自己警惕这样的情况。
stl
源码剖析的源码windows、linux合一
侯捷的《
stl
源码剖析》书的源码
egcs
2 91 57 19980901
egcs
1 1 release 压缩包里的包括windows版和linux版的 cygwin b20 1 full2是windows的
egcs
1 1b是linux的
编译器
源代码
这个
编译器
的源代码是我原先为了完成编译原理实验课作业而写的,所以只具有教
学
价值,现在发出来和大家共享 ;-)
和网上流传的版本不同,它从文法开始,一直做到了符号表的实现. 想实现自己的
编译器
的话,只需在把Initializtion.h中的文法修改为自己的即可.
工程结构:
Initializtion.h 初始化文法,便于进一步进行分析,它为构造GRAMMAR类提供了信息.其中默认非终极符用<>括上,修改时需要注意.
Grammar.cpp Grammar.h 定义了文法GRAMMAR类,它通过initializtion.h的信息建立文法的内部表示。
LL1_Analyser.cpp LL1_Analyser.h 定义了LL1分析器,即LL1_Analyser类.
LL1_Recognizer.cpp LL1_Recognizer.h 为LL1语法分析驱动器,可以通过文法,TOKEN序列和LL1分析表,判定语法是否正确,同时驱动动作.
Rec_Parse.cpp Rec_Pares.h 实现了递归下降分析器Rec_Parse类, 递归下降的思想和LL1驱动器一样,不过是把压栈改成调用自己,而把弹栈改成返回.
Scanner.cpp Scanner.h 实现了词法分析器,可以将程序变为TOKEN序列. 扫描的源程序文件路径也在这里被定义(默认为.//demo.txt)
Action.cpp Action.h 实现了语义栈的操作,_Action类定义了动作符号所对应的动作.
SymTable.cpp SymTable.h 实现了符号表的建立和输出.
希望大家能通过该程序对
STL
和编译原理有更深刻的理解,Have Fun and Good Luck!
-- David.Morre
编程知识_
STL
_LLVM_IR_PASS_
学
习记录_1741864851.zip
操作系统
学
习
编译器
(gcc、g++)
编译器
(gcc、g++)
工具平台和程序库
24,857
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章