C++ 为什么仅仅包括iostream.h会使可执行文件的重量增加1mb?

C++ 为什么仅仅包括iostream.h会使可执行文件的重量增加1mb?,c++,iostream,C++,Iostream,它甚至不是一个“你好世界”,它只是: #include <iostream> int main() { return 0; } 可执行文件的大小仅为49 kb。 我只想包括iostream,可能只使用std::cout,但大小将是整个兆字节。那么,问题在哪里?我该如何解决? PS:我正在将wxDevCpp与mingW一起使用,调试信息功能已关闭。 多谢各位 那么,问题在哪里?我该如何解决 包括 实例化全局变量 STD::CUT, STD::CIN < /C>和 STD::

它甚至不是一个“你好世界”,它只是:

#include <iostream>

int main()
{
    return 0;
}
可执行文件的大小仅为49 kb。 我只想包括iostream,可能只使用std::cout,但大小将是整个兆字节。那么,问题在哪里?我该如何解决? PS:我正在将wxDevCpp与mingW一起使用,调试信息功能已关闭。 多谢各位

那么,问题在哪里?我该如何解决

包括<代码> <代码>实例化全局变量<代码> STD::CUT,<代码> STD::CIN < /C>和 STD::CURR ,并由此在整个C++ I/O库中链接。< /P> 解决这个问题的唯一方法是不包括

,如果您不需要任何东西

那么,问题在哪里?我该如何解决

包括<代码> <代码>实例化全局变量<代码> STD::CUT,<代码> STD::CIN < /C>和 STD::CURR ,并由此在整个C++ I/O库中链接。< /P>



解决这个问题的唯一方法是,如果您不需要从中获得任何东西,则不包括

您确定您真的在进行优化的情况下编译以供发布吗?这是因为您为获得的东西付费。I/O流的实现相当大,即使你只使用了“代码> STD::CUT”,通常包括IoSoW增加了可执行文件的大小,特别是考虑到模板和模板的大小是昂贵的。我认为这与C++或IOFSUW没有关系,只是与编译器无关。在Ubuntu下的GCC4.6.3中,无论是否包含iostream,可执行文件都有12kb。甚至
cout@t.niese我也不确定wxDevCpp中是否有发布/调试业务,是吗?有没有什么命令可以让编译器不包含未使用的函数/模板/类?你确定你真的是在优化的情况下编译发行版的吗?那是因为你要为你得到的付出代价。I/O流的实现相当大,即使你只使用了“代码> STD::CUT”,通常包括IoSoW增加了可执行文件的大小,特别是考虑到模板和模板的大小是昂贵的。我认为这与C++或IOFSUW没有关系,只是与编译器无关。在Ubuntu下的GCC4.6.3中,无论是否包含iostream,可执行文件都有12kb。甚至
cout@t.niese我也不确定wxDevCpp中是否有发布/调试业务,是吗?有没有什么命令可以让编译器不包含未使用的函数/模板/类?但是如果我不想使用std::cout以外的任何东西呢?有没有办法只包含std::cout?也许更清楚:是的,但是std::cout本身需要很多东西work@user3496846“有没有办法只包括std::cout?”简言之:没有@deviantfan是吗?怎样请解释一下???@πάνταῥεῖ: 也许我的评论更让人困惑。我的意思是,把没用过的东西留在外面是可能的/微不足道的,但是cout本身需要很多。但是如果我不想使用std::cout以外的任何东西呢?有没有办法只包含std::cout?也许更清楚:是的,但是std::cout本身需要很多东西work@user3496846“有没有办法只包括std::cout?”简言之:没有@deviantfan是吗?怎样请解释一下???@πάνταῥεῖ: 也许我的评论更让人困惑。我的意思是,把没用过的东西留在外面是可能的/微不足道的,但它本身需要很多东西。
int main()
{
    return 0;
}