免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8225 | 回复: 55
打印 上一主题 下一主题

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-31 16:50 |只看该作者 |倒序浏览
同样的“hello world”源码用系统的c++编译器和gnu的c++编译器生成的文件相差很大呀? (scounix下都是elf格式)
系统编译出文件:  35524  (CC a.cpp -o a)  
gnu 编译出文件:  776076 ( g++ a.cpp -o a)
剥离符号表后文件大小分别为:24428 和  108112
怎么让g++编译的文件小些呢?加优化参数也变化不大。

  

论坛徽章:
0
2 [报告]
发表于 2003-07-31 16:51 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

strip
编译的时候不加-g

论坛徽章:
0
3 [报告]
发表于 2003-07-31 16:57 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

编译时没加-g
strip我知道,后面的数据就是strip的结果。

论坛徽章:
0
4 [报告]
发表于 2003-07-31 17:38 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

比较过cc和gcc所用的libc.a吗?

论坛徽章:
0
5 [报告]
发表于 2003-07-31 17:40 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

感觉有点象是做的静态链接喔! ldd一下看看?

论坛徽章:
0
6 [报告]
发表于 2003-07-31 19:41 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

恩,用ldd 看了,是动态连接的,
用CC:
dynamic linker:a: file loaded: /usr/lib/libcrypt.so
dynamic linker: a: file loaded: /usr/lib/libc.so.1
用g++:
dynamic linker: a: file loaded: /usr/lib/libc.so.1
怎么回事呢,g++把libcrypt.so静态连接了吗,没指定这个东东阿,这是个什么库呢,我就是一个简单的hello,world程序,那里用到这个的阿!
那位告诉偶一下,不懂,谢谢!!

论坛徽章:
0
7 [报告]
发表于 2003-07-31 19:57 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

libcrypt.so

这个是加密库 你有没有用到DES之类的
简单的程序应该不会吧
其它平台也不会区别那么大

论坛徽章:
0
8 [报告]
发表于 2003-07-31 19:58 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

最好的办法是写一个最简单的程序

main(){
printf("hello world\n";
}

然后看看是多大 比较一下

论坛徽章:
0
9 [报告]
发表于 2003-07-31 20:02 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

老大,我就是简单的程序,主要是比较一下编译出的文件大小。

  1. #include<iostream.h>;
  2. main()
  3. {
  4. cout<<"hello world"<<endl;
  5. }
复制代码

真是不解,没用什么加密的函数阿。

论坛徽章:
0
10 [报告]
发表于 2003-07-31 20:09 |只看该作者

大家注意到没有?gnu的c++编译器编成的文件怎么很大呀?

偶发现用cc或CC编译出的elf文件都是动态连接上面提到的两个库。
而用gcc或g++的只有一个库。
gcc比cc编译出的东西略大一些,可以接受,但g++比CC编译出的大好几倍阿,究竟gnu的编译器有什么优势呢,至少文件太大了,不能理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP