当前位置: 首页 > 面试题库 >

如何减少编译文件的大小?

陈德泽
2023-03-14
问题内容

让我们比较一下c:Hello_world.c:

#include<stdio.h>
int main(){
    printf("Hello world!");
}

Hello_world.go:

package main
import "fmt"
func main(){
    fmt.Printf("Hello world!")
}

编译

$gcc Hello_world.c -o Hello_c 
$8g Hello_world.go -o Hello_go.8
$8l Hello_go.8 -o Hello_go

还有,这是什么?

$ls -ls
... 5,4K 2010-10-05 11:09 Hello_c
... 991K 2010-10-05 11:17 Hello_go

大约1Mb的世界。你在跟我开玩笑吗?我做错了什么?

(仅限Hello_go-> 893K)


问题答案:

文件较大是否有问题?我不知道Go,但是我认为它会静态链接某些运行时库,而C程序则不是这种情况。但是,只要程序变大,就不必担心。

如上所述这里,静态链接Go运行时是默认的。该页面还告诉您如何设置动态链接。



 类似资料:
  • 问题内容: 有什么办法可以减少jar文件的大小? 我想要一个减少未使用依赖性的工具。 我使用Maven进行依赖管理。 问题答案: 从Maven的角度来看,JAR文件通常不包含依赖项。因此,您必须在谈论: WAR或EAR或类似文件, 通过合并大量JAR文件而产生的所谓的UberJAR文件;例如使用Maven阴影插件,或 依赖比Maven模块更精细。 在前两种情况下,可以通过在依赖关系规范或war或s

  • 问题内容: 我用Xcode 6.1和Swift制作了一个非常简单的iPhone应用程序。我对ios开发真的很陌生,遇到了一个134 mb的应用程序!当然这是不可接受的。 我的所有屏幕尺寸的背景图像加起来总计20 mb。就是这样!我将这些图像存储在xcassets中,因为那是我猜的首选方式。 我认为该应用程序不应超过25 mbs。 我发现我的项目中有一些参考文献加倍。我删除了这些,但我的.app文件

  • 我正试图减少gwt项目的编译时间,使用maven概要文件来设置是需要所有排列还是只需要其中的一部分。 我按照教程在这里:http://www.bonitasoft.org/blog/tutorial/speed-up-gwt-i18n-compilation-using-maven-profiles/ 但是,它没有说明如何创建这两个模块(生产和开发)。这些都是应用程序。gwt。xml文件,如果是,

  • 问题内容: 我已经为Java项目开发了一个模块。该模块取决于外部库()。问题是,该文件比整个项目本身(14 MB)大两倍。我仅使用库中类的一小部分。该模块现已完成,将来没有人会对其进行扩展。有没有一种方法可以将相关类仅提取给某些类,以便其他人不必下载所有这些额外的内容? 问题答案: ProGuard之类的混淆工具通常提供从jar文件中删除未使用的类(甚至字段和方法)的功能。但是,您必须小心确认所有

  • 问题内容: 我只有一行用python编写的代码,并带有pyinstaller和option 。exe文件为4577 kB,几乎是5Mb。如何减小其大小或排除某些自动捆绑的图书馆? 问题答案: 您使用pyinstaller创建的.exe文件包括python解释器和脚本中包含的所有模块。也许您正在使用的模块本身都有一个很大的库。但是,您可以尝试使用 py2exe, 但它可能不适用于所有项目。另一种缩小

  • 如何减小Maven可执行Jar文件大小。目前为255 MB。它不允许在Cloud形成中部署。 我正在通过云形成进行部署- 如果我可以将文件的大小从255 MB减少,那么我的问题就会得到解决。 我从JAR文件中看到,下面2个依赖项占用了195 MB。 我应该怎样减少它? 完整的Pom XML文件包括- Pom。xml- 4.0.0组织。springframework。boot spring boot