如何减少已编译的Delphi代码的大小?

如何减少已编译的Delphi代码的大小?,delphi,compilation,compiler-optimization,Delphi,Compilation,Compiler Optimization,我刚刚在Delphi中编写了一个非常简短的代码,没有偶数数组和数据结构,当我编译它时,我得到了一个11MB的exe文件,它是在RAD Studio X3 IDE下为32位体系结构编译的,为64位 我认为这不是最好的,即使是一个罐子也会轻一些 是否有任何设置,我可以这样做,我得到一个较小的编译?也许我可以在代码中删除任何单元?您需要禁用可执行文件中的调试信息,这将从可执行文件中删除类似的内容。查看RAD Studio中的有关如何执行此操作的信息 编辑(为了有效性/完整性):您还必须切换到relea

我刚刚在Delphi中编写了一个非常简短的代码,没有偶数数组和数据结构,当我编译它时,我得到了一个11MB的exe文件,它是在RAD Studio X3 IDE下为32位体系结构编译的,为64位

我认为这不是最好的,即使是一个罐子也会轻一些


是否有任何设置,我可以这样做,我得到一个较小的编译?也许我可以在代码中删除任何单元?

您需要禁用可执行文件中的调试信息,这将从可执行文件中删除类似的内容。查看RAD Studio中的有关如何执行此操作的信息

编辑(为了有效性/完整性):您还必须切换到release而不是debug配置-链接问题的答案如中所述

增加可执行文件大小的选项有:

  • 完整调试信息:如前所述,这将包括调试符号,这将使可执行文件的大小更大
  • 与动态RTL链接:控制(RTL)是内置在可执行文件中还是作为外部DLL。将其嵌入可执行文件中,并显著增加其大小
  • 与Delphi运行时库的链接

您还可以使用可执行文件打包器打包可执行文件,如。

您需要禁用可执行文件中的调试信息,这将从可执行文件中删除类似的内容。查看RAD Studio中的有关如何执行此操作的信息

编辑(为了有效性/完整性):您还必须切换到release而不是debug配置-链接问题的答案如中所述

增加可执行文件大小的选项有:

  • 完整调试信息:如前所述,这将包括调试符号,这将使可执行文件的大小更大
  • 与动态RTL链接:控制(RTL)是内置在可执行文件中还是作为外部DLL。将其嵌入可执行文件中,并显著增加其大小
  • 与Delphi运行时库的链接

您还可以使用可执行文件打包器打包可执行文件,如。

和。在发布您的问题之前,请至少扫描一下
相关的
列表,看看之前是否有人在这里提问和回答过。你至少应该努力搜索这个网站;搜索
[delphi]可执行文件大小
会同时显示其他两个链接,即使它们不在
相关的
列表中。不要使用VCL。不要使用FireMonkey。不要使用库存RTL。将KOL/MCK用于GUI及其模块化RTL插入式替换。我做的GUI更少的DLL小到2KB:-)@Arioch'我怎么能做那个设置?我是Delphi的新手,必须为weekend@Arioch“KOL/MCK已经被放弃。现在它已经成为古董和遗物了。你确实意识到,如果没有java运行时,JAR文件很难在用户的计算机上运行,而java运行时的下载量现在已经超过11MB了。:-)打开Use Runtime BPLs,您将获得java风格的小型二进制文件,这需要大量的运行时。。。我希望你现在变得开明了。在发布您的问题之前,请至少扫描一下
相关的
列表,看看之前是否有人在这里提问和回答过。你至少应该努力搜索这个网站;搜索
[delphi]可执行文件大小
会同时显示其他两个链接,即使它们不在
相关的
列表中。不要使用VCL。不要使用FireMonkey。不要使用库存RTL。将KOL/MCK用于GUI及其模块化RTL插入式替换。我做的GUI更少的DLL小到2KB:-)@Arioch'我怎么能做那个设置?我是Delphi的新手,必须为weekend@Arioch“KOL/MCK已经被放弃。现在它已经成为古董和遗物了。你确实意识到,如果没有java运行时,JAR文件很难在用户的计算机上运行,而java运行时的下载量现在已经超过11MB了。:-)打开Use Runtime BPLs,您将获得java风格的小型二进制文件,这需要大量的运行时。。。我希望你现在变得开明了?有一点要指出——如果你决定使用像UPX这样的打包机,记住这项技术经常会欺骗防病毒软件,使其认为你的可执行文件是恶意软件!这被称为“假阳性”,当你向公众发布你的软件时会给你带来困难。这是一个非常好和明智的建议,谢谢!需要指出的一点是,如果您决定使用像UPX这样的打包机,请记住,这种技术通常会欺骗防病毒软件,使其认为您的可执行文件是恶意软件!这被称为“假阳性”,当你向公众发布你的软件时会给你带来困难。这是一个非常好和明智的建议,谢谢!