dev c++ 编译c++后 的 exe文件很大,是什么情况?

zycool2013 2015-01-30 04:46:05



如图所示,上面简单的一行c++代码,用dev c++编译后,生成的exe文件奇大!
有什么办法优化吗?
...全文
955 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zycool2013 2015-01-30
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
C:\DevC\Dev-CppPortable\App\devcpp>dir *.exe /w /s 驱动器 C 中的卷没有标签。 卷的序列号是 0003-3D5A C:\DevC\Dev-CppPortable\App\devcpp 的目录 devcpp.exe Packman.exe 2 个文件 1,264,128 字节 C:\DevC\Dev-CppPortable\App\devcpp\bin 的目录 mingw32-make.exe make.exe gdb.exe windres.exe rm.exe strip.exe dlltool.exe dllwrap.exe ar.exe strings.exe size.exe as.exe gprof.exe ld.exe c++filt.exe readelf.exe ranlib.exe addr2line.exe objdump.exe nm.exe objcopy.exe gcc.exe gcov.exe cpp.exe mingw32-gcc.exe mingw32-c++.exe g++.exe mingw32-g++.exe c++.exe 29 个文件 8,949,760 字节 C:\DevC\Dev-CppPortable\App\devcpp\libexec\gcc\mingw32\3.4.2 的目录 collect2.exe cc1.exe cc1plus.exe 3 个文件 4,050,432 字节 请按任意键继续. . . C:\DevC\Dev-CppPortable\App\devcpp\mingw32\bin 的目录 as.exe dlltool.exe ld.exe nm.exe ranlib.exe strip.exe ar.exe 7 个文件 1,544,704 字节 所列文件总数: 41 个文件 15,809,024 字节 0 个目录 4,256,542,720 可用字节 C:\DevC\Dev-CppPortable\App\devcpp> 没猜错的话,Dev c++调用gcc和g++生成的exe依赖mingw32环境下的CRT间接实现在windows运行;而非直接调用windows的CRT。所以其生成的exe尺寸较大。
感谢老师的回答,看来我对编译操作原理之类的了解还很欠缺,本想用dev c++这个小工具学学c++的,但看它还不如vs2010好用
赵4老师 2015-01-30
  • 打赏
  • 举报
回复
C:\DevC\Dev-CppPortable\App\devcpp>dir *.exe /w /s 驱动器 C 中的卷没有标签。 卷的序列号是 0003-3D5A C:\DevC\Dev-CppPortable\App\devcpp 的目录 devcpp.exe Packman.exe 2 个文件 1,264,128 字节 C:\DevC\Dev-CppPortable\App\devcpp\bin 的目录 mingw32-make.exe make.exe gdb.exe windres.exe rm.exe strip.exe dlltool.exe dllwrap.exe ar.exe strings.exe size.exe as.exe gprof.exe ld.exe c++filt.exe readelf.exe ranlib.exe addr2line.exe objdump.exe nm.exe objcopy.exe gcc.exe gcov.exe cpp.exe mingw32-gcc.exe mingw32-c++.exe g++.exe mingw32-g++.exe c++.exe 29 个文件 8,949,760 字节 C:\DevC\Dev-CppPortable\App\devcpp\libexec\gcc\mingw32\3.4.2 的目录 collect2.exe cc1.exe cc1plus.exe 3 个文件 4,050,432 字节 请按任意键继续. . . C:\DevC\Dev-CppPortable\App\devcpp\mingw32\bin 的目录 as.exe dlltool.exe ld.exe nm.exe ranlib.exe strip.exe ar.exe 7 个文件 1,544,704 字节 所列文件总数: 41 个文件 15,809,024 字节 0 个目录 4,256,542,720 可用字节 C:\DevC\Dev-CppPortable\App\devcpp> 没猜错的话,Dev c++调用gcc和g++生成的exe依赖mingw32环境下的CRT间接实现在windows运行;而非直接调用windows的CRT。所以其生成的exe尺寸较大。
zycool2013 2015-01-30
  • 打赏
  • 举报
回复
引用 2 楼 u012421456 的回复:
应该是因为这是新建的项目的问题,我记得以前使用dev c++时,平常都是新建文件,最终的可执行文件并不大
不是的,我试过用纯文本文件.cpp丢到dev c++去完成编译,但生成的文件依然是1.2M 左右,然后还用code blocks 试过,也是生成很大的文件,网上资料大部分说是设置CRT为动态,但找不到在哪里设置。
zycool2013 2015-01-30
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
http://www.microsoft.com/visualstudio/chs/downloads#d-2010-express 点开Visual C++ 2010 Express下面的语言选‘简体中文’,再点立即安装
虽然不知道vs2010编译原理,但编译出来的文件确实小到正常大小了,30kb左右,因为之前尝试过dev c++的优化选项,发现不起作用,什么CRT动态也没找到在哪设置,然后vs2010很贴心的让人不用去管这些,但还是想知道,用dev c++ 怎么做到vs2010那样的效果,当然不能实现的话,也就勉强用vs2010了,本来初衷是想用个小工具的。
百曉生 2015-01-30
  • 打赏
  • 举报
回复
应该是因为这是新建的项目的问题,我记得以前使用dev c++时,平常都是新建文件,最终的可执行文件并不大
赵4老师 2015-01-30
  • 打赏
  • 举报
回复
http://www.microsoft.com/visualstudio/chs/downloads#d-2010-express 点开Visual C++ 2010 Express下面的语言选‘简体中文’,再点立即安装

24,854

社区成员

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

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