永发信息网

为什么mingw编译出的helloworld那么大?

答案:3  悬赏:10  手机版
解决时间 2021-11-16 05:39
为什么mingw编译出的helloworld那么大?
最佳答案
请使用动态链接库,不要用静态的C++库。我不知道你用的mingw是哪个发行版的,但是绝对不是原装的,你可以强制这货使用动态库。一般而言vs和mingw的差距就是30K左右的大小,因为mingw要连接到mingw10基本库和vc是不一样的。追问怎样使用动态连接库?如果使用了动态连接库,移植到别的电脑要安装什么才能运行吗?追答mingw官方2012.04打包版的是直接连接的动态库包括mingw10和libstdc++都是动态的,因此发布的时候要带上mingw10.dll和libstdc++-6.dll
测试发现vc生成的可执行程序为36K,mingw为51K。
至于你的mingw如何连接动态库的话,一般而言可以用-WI,-Bdynamic选项试一下,这是传递给ld的参数,指定ld从动态库开始搜索需要连接的库。追问的确不是原装的,是Code::blocks带的。有什么办法吗?追答查看codeblocks的帮助中关于编译器的文档,然后就是设置项目属性,连接器参数中使用-bdynamic选项。不过这个影响不大,如果动态链接库的话会比这个更大,优化选型做了覆盖筛选,所以才只有400多k。优化编译时静态连接比动态连接运行效率会高一些,当然当某个库用的比较多的时候还是要动态的好,毕竟动态库会被加载到专用空间中。
全部回答
你编的是DEBUG 还是RELEASE 啊?追问release 还有-O2\-S等参数,IDE为code::blocks
编译器选项里加上 -s
如果是图形化设置界面,应该是叫“剥离附加数据”或者什么的。

不过mingw用的C++的库确实是大……
C的话可以编译出来比较小,但是用到了C++的东西就不可避免地囧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我要一个有死神猎手的逆战号
吉林大学有那些特色很好的专业。
明朝人吃盐怎么这么麻烦?
当你有一个特别怕痒的同学应该如何折磨他
谦咖啡地址好找么,我有些事要过去,
公元二零一五年是什么意思
3分钟以消费为话演讲稿
300-500关于爱情的数字
宝宝的骨头粥怎么做会好一些了的
杭州爱玛电动车专卖店的地址
凉辰梦瑾空人心的下一句
我想买个气泵,是喷漆用的那种小气泵,大约需
原来有多少盆花,我搬来七盆,图中一共有八盆
神采飞扬电玩地址在哪,我要去那里办事,
亲们,谁知道这篇小说的名字啊?第一卷是孤独
推荐资讯
HG平台大全有猜单双的项目吗?
我是妹妹15岁,昨晚来了客人,房间不够睡,我
用8去除是什么意思
郑记锅烙抻面熏酱馆地址在哪,我要去那里办事
长城和道达尔机油哪种机油好?
3dmax白色油漆怎么调
从莒南县城到大店多少公里?
石墨类碳材料嵌锂电位0.1 V左右是什么意思
上饶动车到诸几时刻表
韩国版爸爸去哪儿 里的爸爸们在韩国出名吗 谁
求问希里的技能到底怎么用
求ILLUSION FIELD攻略
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?