❶ Delphi XE6 编译出的exe程序,体积很大怎么弄
推荐您用upx压缩壳进行压缩。
1、upx压缩壳的说明(来自网络)
登录/注册后可看大图
UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。 UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、 Linux 可执行文件和核心。
❷ 关于C++程序编译后体积问题
这个和你用的编译器的代码优化功能有关系,有的编译器(如VC)可以让用户选择生产.exe可执行文件时是文件体积优先还是速度优先,一般速度优先了体积就会大一些,反之亦然。
再就是各个编译器之间的差异了..
❸ C++编译后的文件为什么体积特大
正常,在编写小的短的程序C没有汇编有优势,一个程序很简单的程序用TC编译成30K正常
你可以这样理解
编译 就跟模板似的,有固定的开头结尾,中间是你的程序编译的代码,开头结尾最简单也要几K,所以再加上你的程序不可能很短
你是用的TC 而不是用的VC++ 没有动态库与静态库的问题,
但是如果改变些TC编译选项可能对编译结果大小有影响
❹ g++编译出的程序体积问题
<iostream>
using namespace std;
viod main(viod)
{
cout<<"dsjffjjsljlsfjlj\n";
}
你用gcc的时候是要区别后缀名的,你编译的是c++,所以必须把文件后缀名改成.cpp,如果是.c是会错的!!!
如果还有错的话,就是你 “main”后的括号是全角的!!!,还有main要返回整型的,参数也要是整型!!!
"vc++ 6.0 、tc++ 3.0都不行啊。比如写#include<iostream>或 #include<cmath>等等就不行了,要写成#include <iostream.h>或#include "math.h"一类才行。"
补充:写#include<iostream>
后面要加上using namespace std;
要用命名空间!!!
"还有字符串操作不能用“+”、“=”等等。"
要用符号重载才能办到,你可以查一下这方面的资料!!!
每一个C++编译器都支持标准的C++的,只是各自有自己的特点而已。C++语言规范没有指定平台,使得C++编译器在各个平台上都有各自的实现。但是,在实际使用当中,平台依赖性是客观存在的,包括操作平台和开发平台,而因各平台的差异性,特定平台上的C++编译器在实现上对标准C++规范有所修改、有所扩充也是无可厚非的,毕竟C++不是一个强制性规范。
C++编译器很重要, 但是IDE有时候更加重要.
给你推荐ICC
ICC是一个非常优秀的编译器, 这个编译器提供了对INTEL处理器的最大支持,这个是其他编译器无法做到的. 就凭这一点就足够了. 例如,它可以针对一款特定的处理器做优化. 还有很多,我懒得说了
❺ c++ 静态函数会加重程序负担吗
这要看你的库设计了, 一般情况下静态函数或类成员静态不会增大程序体积, 如果是标准的静态函数则类似于全局函数, 在编译时, 只会在代码段编译一次。
但是如果是模板类中使用静态函数可就要小心了, 这会随着类模板的不同形参进行内嵌编译。
能够影响程序代码段体积大小的只有宏替换、内联函数、函数模板以及类模板。 这些会在代码编译过程中展开,内嵌到代码中,在提高程序性能的同时而造成程序编译体积增大。
还有就是常量会直接编译到程序的数据段, 也有可能造成程序的体积
❻ 如何缩小vc编译的文件体积
如果你是指编译后的完整工程(包括中间文件等),那么不推荐缩小,也没办法很好的缩小。
如果你是指编译后,最终完成的EXE,那么太多办法来缩小。
比如:
编译模式中,优化模式Optimizations选择为Minimize Size
编译选择Release模式而不是Debug模式,去掉EXE中的调试信息
对MFC和其它链接库选择动态编译,使用DLL而不是LIB,可以极大降低EXE的文件大小
资源文件优化,或者将资源文件做成外置资源,那么EXE的文件大小也可以大幅度压缩
完成编译后,对exe文件进行打包加壳,可以降低大概30~40%的文件大小
❼ C语言dev c++,选项release,debug,profiling什么意思
1,debug:Debug通常称为调试版,通过一系列编译选项,编译结果通常包含调试信息,并且不做任何优化,以便为开发人员提供强大的应用程序调试功能。 Debug版本包含调试信息,因此它比Release版本大得多(可能是数百K到M)。
调试调试,可以通过软件,堆栈跟踪,调试等操作来查找错误。至于是否需要DLL支持,主要取决于您使用的编译选项。如果它基于ATL,则Debug和Release版本对DLL有类似的要求。
2,发布:发布版本,如果程序在最终调试后没有明显的错误,可以使用此选项编译为可用软件与他人共享。发布通常称为发布版本,供用户使用。通常,不允许客户在发布版本上进行调试。
因此,不会保存调试信息,同时,它经常被优化以实现最小的代码和速度。方便用户使用。
3、性能分析。可以在执行软件期间分析CPU利用率和存储器占用率。它还可用于发现和分析异常和错误。
(7)影响程序体积的编译选项扩展阅读:
调试程序发布版本的方法:
1.如前所述,Debug和Release只是一组编译选项。实际上没有区分两者的定义。您可以修改Release版本的编译选项以缩小错误范围。如上所述,您可以逐个将Release的选项更改为相应的Debug选项,例如/ MD到/ MDd,/ O1到/ Od,或运行时优化到程序大小优化。
一次只更改一个选项,查看错误消失时更改了哪个选项,然后查找与该选项相关的错误。可以直接从ProjectSettings中的列表中选择这些选项,通常不会手动修改。由于上述分析相当全面,这种方法是最有效的。
2,在编程过程中,你应该时刻注意测试发布版本,以免最终代码过多,时间非常紧张。
3.使用Debug版本中的/ W4警告级别从编译器获取最大错误信息。例如,如果(i = 0)将导致/ W4警告。不要忽略这些警告,通常这是由程序中的错误引起的。但有时/ W4会带来大量冗余信息,例如未使用的函数参数警告,并且许多消息处理程序会忽略某些参数。