一个别人的程序,还有现成的代码。他编译好的那个exe,大小52k,运行只需要8秒钟。而我用他相应现成代码重新编译后大小420k,运行需要3分钟。
我用release模式编译的。性能相差这么大,会是编译选项造成的吗?俺是菜鸟,大家别嘲笑。

解决方案 »

  1.   

    这个肯定是有影响的。
    release版本下的一些选项需要设置,特别是关于调试的部分
      

  2.   

    工程属性中有一项专门用来说优化的:
    1)优化选项是否打开,则关系到性能。
    2)内联函数是否展开经影响程序的大小,如程序内部大量使用内联,则展开后,
    程序会很大,速度快;不展开,则程序比较小,速度较慢。3)处理器优化也有一定的影响。
    4)优化大小或速度,对程序的影响也较大。还有一些选项对程序是否正常运行也有影响:
    1)结构成员对齐方式,这个对程序的正确执行有直接的影响,如结构体共5个字节,如果对其方式选择8字节,使用sizeof()则会出现问题,使用memcpy(*,*,sizeof())是则会出现问题。
    2) MFC使用对DLL的生成有影响。
    3)字符集对2003和2005编译器执行有影响,2005默认是unicode,这对字符串处理有影响。其他的,需要别人在补充。