TDM-GCC编译后exe文件太大了,这里有缩小的方法
点击 551 创建时间 2016-07-21 18:09:04
原创文章,免费转载请注明出处。https://wudimei.com/yangqingrong/blog/item/468.html 我在TDM-GCC官网上看到这一段话:
“TDM-GCC still includes DLL versions of the libgcc and libstdc++ runtimes, which you can enable for your program with "-shared-libgcc" and "-shared-libstdc++" if desired.”
意思是说TDM-GCC仍然包含libgcc和libstdc++运行时的DLL版本(默认不使用动态DLL),如果需要,你可以为你的程序启用它,使用"-shared-libgcc" 和"-shared-libstdc++" 参数。
于是我试了一下:
g++ test.cpp -m32 -s -shared-libstdc++ -fno-exceptions -flto -fno-rtti -Os
结果编译后的a.exe只有12kb大小。
参数说明
-s 剪去符号。
-m32 这是输出32位的程序
-shared-libstdc++ 链接c++动态链接库,发布时要带上DLL。如果是gcc就使用"-shared-libgcc"
-fno-exceptions 不要异常
test.cpp内容
#include <stdio.h>
#include <string.h>
using namespace std;
class Person{
public:
int id;
void setId(int newId){
this->id =newId;
}
int getId(){
return this->id;
}
};
int main(int argc, char **argv)
{
Person p;
p.id=10;
p.setId( 1024);
printf("hello world! persion id: %d;", p.getId() );
}
上一篇: bootstrap overflow-y:hidden造成下拉菜单被隐藏
下一篇: 104: Connection reset by peer