免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: li2002
打印 上一主题 下一主题

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

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

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

老大可别吓我哟,改了那个动态库会不会死菜呀?偶不敢 :wink:
那天在AIX上就改过一个目录,结果马上连ls都没法用了,吓得我一身冷汗呀!好在急中生智。。。
测了,令人吃惊,竟然生成了完全一样的执行程序:


  1. [billing@bfdx]$ cc -static -o a1.out test.cpp
  2. [billing@bfdx]$ g++ -static -o a2.out test.cpp
  3. [billing@bfdx]$ ls -l
  4. total 3308
  5. -rwxr-xr-x    1 billing  users     1686043 Aug  2 20:15 a1.out*
  6. -rwxr-xr-x    1 billing  users     1686043 Aug  2 20:15 a2.out*
  7. -rw-r--r--    1 billing  users          59 Aug  2 19:53 test.cpp
  8. [billing@bfdx]$ ldd a*
  9. a1.out:
  10.         not a dynamic executable
  11. a2.out:
  12.         not a dynamic executable
  13. [billing@bfdx]$ cmp a1.out a2.out
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
32 [报告]
发表于 2003-08-02 20:19 |只看该作者

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

在测试这个情况之前,请备份你的动态库文件,更改为你自己识辨的名字。偶那个帖子给你建议了呀,呵呵

在编译连接静态库的过程中,请删除上次生成的可执行程序在编译。

论坛徽章:
0
33 [报告]
发表于 2003-08-02 20:26 |只看该作者

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

我要再找台机子 这个是生产系统,不敢动libc

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
34 [报告]
发表于 2003-08-02 20:29 |只看该作者

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

如果是生成环境,蜗牛你可要小心了。

呵呵

等你的结果ing....

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

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

今天怕是不用等了
偶要找个BSD,在那上面偶放心

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
36 [报告]
发表于 2003-08-02 20:36 |只看该作者

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

好的, 蜗牛兄弟,我可不想坑害你呀。

保证安全了在测试吧。

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

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

[quote]原帖由 "蓝色键盘"]我可不想坑害你呀。[/quote 发表:
这说哪的话

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
38 [报告]
发表于 2003-08-02 20:45 |只看该作者

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

原帖由 "qjlemon"]billing@bfdx 发表:
$ cc -static -o a1.out test.cpp
[billing@bfdx]$ g++ -static -o a2.out test.cpp
[billing@bfdx]$ ls -l
total 3308
-rwxr-xr-x    1 billing  users     1686043 Aug  2 20:15 a1.out*
-rwxr-xr-x    1 billing  users     1686043 Aug  2 20:15 a2.out*
-rw-r--r--    1 billing  users          59 Aug  2 19:53 test.cpp
[billing@bfdx]$ ldd a*
a1.out:
        not a dynamic executable
a2.out:
        not a dynamic executable
[billing@bfdx]$ cmp a1.out a2.out
   


静态库显然要比动态库大,现在是g++和cc编译的大小一样。下次测试最好注g++和cc编译程序的版本,这样便于分析。

论坛徽章:
0
39 [报告]
发表于 2003-08-02 20:50 |只看该作者

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


  1. [billing@bfdx]$ gcc -v
  2. Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
  3. gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
  4. [billing@bfdx]$ g++ -v
  5. Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
  6. gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
40 [报告]
发表于 2003-08-02 20:56 |只看该作者

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

偶的意思是你在BSD或者其它的系统最好也注明版本。呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP