gcc减小生成程序的大小

编译参数CFLAGS: -Os -ffunction-sections -fdata-sections (去掉-g参数,不启动调试)
链接参数LDFLAGS: -Wl,-Map=object.map,--cref,--gc-section
通过上述参数,会在编译和链接是对代码进行优化。
把没有用到的函数全部裁剪掉,只保留有用的符号。
原本25M的程序在-g参数后的,编程37M。去掉-g,然后加上上面的参数,变为8.1M,缩减了很大的空间。

使用upx压缩可执行文件大小。

### 回答1: gcc-.tar.gz是一个软件包的压缩文件格式,通常用于Linux或类Unix系统中的软件安装。它是以.tar.gz为扩展名的文件,其实际上是两个文件格式的组合。 首先,.tar(Tape Archive)是一种归档文件格式,用于将多个文件或目录组织在一起,以便于传输和存储。它类似于Windows系统中的zip文件。.tar文件通常不进行压缩,只是将多个文件或目录打包在一起。 而.gz是指使用GNU压缩程序gzip进行压缩生成的文件,它能够对单个文件进行压缩,减小文件大小。gzip是一种无损压缩算法,通过消除文件中的冗余信息来减小文件大小,但能够完全还原原始文件。 因此,当我们提到gcc-.tar.gz时,它指的是一个包含gcc编译器源代码或二进制执行文件等文件的归档文件,并通过gzip进行了压缩以减小文件大小。这种压缩的方式有助于在网络传输或存储时减少带宽和存储空间的占用。 要使用gcc-.tar.gz,我们通常需要将文件解压缩,并按照相应的安装指南进行安装和配置,以便在系统中编译和运行C和C++代码。这种文件格式在开源软件社区中非常常见,方便了软件的分发和安装,同时也使得开发者和用户能够更好地进行自定义和调试工作。 ### 回答2: gcc-.tar.gz 是一个打包格式的文件。它通常用于将GCC编译器的源代码进行压缩和打包。这个文件格式是使用tar和gzip两个工具进行压缩和解压的。 首先,tar是一个在Unix和类Unix系统中常见的打包工具。它可以将多个文件或目录打包成一个单独的文件,以便进行传输或备份。tar的命令参数包括-c (create)用于创建打包文件,-z (gzip)用于使用gzip进行压缩,-f (file)用于指定要创建的打包文件的名称。 而gzip则是一个用于数据压缩和解压缩的工具。它通常与tar搭配使用,可以将tar打包的文件进行进一步的压缩,以减小文件大小。gzip的命令参数包括-d (decompress)用于解压缩文件,-c (stdout)用于将解压缩的数据输出到标准输出,而非生成一个新文件,-f (file)用于指定要解压缩的文件的名称。 因此,当我们看到一个文件名以".tar.gz"结尾时,我们可以理解它是一个经过tar打包并使用gzip压缩过的文件。要解压缩这样的文件,我们可以使用tar命令的-x (extract)参数解压缩文件,并使用gzip的-d参数对解压缩后的文件进行解压。 总而言之,gcc-.tar.gz是一个经过tar打包和gzip压缩的文件,通常用于存储和传输GCC编译器的源代码。 ### 回答3: gcc-.tar.gz是GCC编译器的压缩文件格式。GCC(GNU Compiler Collection)是一套使用广泛的免费开源编译器工具,用于编译生成各种编程语言的可执行文件。 .tar.gz是一种Unix/Linux系统下的压缩文件格式,由两部分组合而成。首先,.tar是指使用tar命令创建的存档文件,它将多个文件和文件夹打包成一个容器。其次,.gz是指使用gzip命令进行压缩的文件,可以减小文件大小。所以,gcc-.tar.gz就是将GCC编译器的文件和文件夹打包并进行压缩后得到的一个压缩文件。 要使用gcc-.tar.gz文件,首先需要解压缩。在Linux系统中,可以使用tar命令进行解包,再使用gzip命令进行解压缩。具体的命令如下: tar -zxvf gcc-.tar.gz 这个命令将会解压缩gcc-.tar.gz文件,并将其还原为原始的GCC编译器文件和文件夹。解压后,可以按照GCC的安装说明进行安装。一般来说,需要在解压缩后的文件夹中执行configure脚本、make命令和make install命令完成安装过程。 总之,gcc-.tar.gz是GCC编译器的压缩文件格式,在使用之前需要进行解压缩,并按照相应的安装流程进行安装。这样就可以使用GCC编译器来编译程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值