`
yaojingguo
  • 浏览: 207931 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GCC options: -ffunction-sections and -fdata-sections

 
阅读更多

C code:

 

struct person {
	int age;
	int no;
};

int plus_one(int no)
{
	return no + 1;
}

int minus_one(int no)
{
	return no - 1;
}

 

Run 'gcc -S -ffunction-sections -fdata-sections' produce:

 

	.file	"sec.c"
	.section	.text.plus_one,"ax",@progbits
.globl plus_one
	.type	plus_one, @function
plus_one:
	pushl	%ebp
	movl	%esp, %ebp
	movl	8(%ebp), %eax
	addl	$1, %eax
	popl	%ebp
	ret
	.size	plus_one, .-plus_one
	.section	.text.minus_one,"ax",@progbits
.globl minus_one
	.type	minus_one, @function
minus_one:
	pushl	%ebp
	movl	%esp, %ebp
	movl	8(%ebp), %eax
	subl	$1, %eax
	popl	%ebp
	ret
	.size	minus_one, .-minus_one
	.ident	"GCC: (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3"
	.section	.note.GNU-stack,"",@progbits
 
分享到:
评论

相关推荐

    gcc编译器20220506 082534 版本为:gcc-arm-none-eabi-10.3-2021.10-win32

    gcc编译器20220506 082534 版本为:gcc-arm-none-eabi-10.3-2021.10-win32 配合文章:nordic52832 nordic使用gcc编译环境搭建和使用说明

    gcc-4.8.5-44.el7.x86_64相关包

    gcc-4.8.5-44.el7.x86_64.rpm gcc-c++-4.8.5-44.el7.x86_64.rpm gcc-gfortran-4.8.5-44.el7.x86_64.rpm libgfortran-4.8.5-44.el7.x86_64.rpm libquadmath-4.8.5-44.el7.x86_64.rpm libquadmath-devel-4.8.5-44.el7....

    gcc-c++-4.4.7-16.el6.x86_64.rpm

    warning: gcc-c++-4.4.7-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY error: Failed dependencies: gcc = 4.4.7-3.el6 is needed by gcc-c++-4.4.7-3.el6.x86_64 libstdc++ = 4.4.7-...

    gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-guneabi.tar.xz

    gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-guneabi.tar.xz gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-guneabi.tar.xz gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-guneabi.tar.xz gcc-linaro-4.9.4-2017.01-x86_...

    离线安装GCC与GCC-C++

    - 使用`tar`命令解压缩下载的源码包,例如:`tar -xvf gcc-版本号.tar.gz` 和 `tar -xvf gcc-c++-版本号.tar.gz`。 5. **配置与编译**: - 进入解压后的源码目录,运行`./configure`命令来配置编译选项。这一步骤...

    gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.gz

    gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译64-bit Armv8 Cortex-A, little-endian目标中的裸机程序、u-boot、Linux kernel、...

    ftp工具:filezilla-amd64.deb

    FileZilla Client ... Compiler flags: -O2 -g -Wall -Wextra -pedantic -Wno-cast-function-type -ffunction-sections -fdata-sections Linked against: wxWidgets: 3.2.1 SQLite: 3.39.4 GnuTLS: 3.8.0

    gcc-4.8.5-36.el7.x86_64_rpm.zip

    标题中的“gcc-4.8.5-36.el7.x86_64_rpm”表明这是一个针对 CentOS 7 操作系统的 GCC 4.8.5 版本的 RPM 包,其中“x86_64”代表它是64位架构的。RPM(Red Hat Package Manager)是Linux上的一种软件包管理器,用于...

    gcc-arm-none-eabi-5_4-2016q3-20160926-win32

    标题中的“gcc-arm-none-eabi-5_4-2016q3-20160926-win32”是指一个针对ARM架构、非嵌入式ABI(Application Binary Interface)的GCC(GNU Compiler Collection)编译器工具链。这个版本是2016年第三季度发布,具体...

    libboost_program_options-gcc-mt-1_53.a

    libboost_program_options-gcc-mt-1_53.a

    gcc-arm-none-eabi-10-2020-q4-major-win32.zip

    《Windows环境下ARM交叉工具链——GCC-ARM-NONE-EABI详解》 在嵌入式开发领域,ARM架构因其高效能和低功耗的特性而被广泛应用。为了在非ARM平台上编译针对ARM处理器的代码,我们需要一个交叉编译工具链。GCC-ARM-...

    arm-linux-gcc和arm-elf-gcc 区别

    "arm-linux-gcc和arm-elf-gcc 的区别" arm-linux-gcc 和 arm-elf-gcc 是嵌入式交叉编译工具链中最常用的两个 GCC 工具链,它们之间的主要区别在于使用不同的 C 库文件。arm-linux-gcc 使用 GNU 的 Glibc,而 arm-...

    gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.7z

    交叉编译工具:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.bz2 解压命令:tar jxvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.bz2

    gcc-arm-none-eabi-9-2020-q2-update.zip

    linux平台gcc编译器,gcc-arm-none-eabi-9-2020-q2-update-x64-linux.tar.bz2,gcc-arm-none-eabi-9-2020-q2-update-x64-linux.tar.bz2,只要5分,只要5分

    gcc-arm-none-eabi-9-2019-q4-major-win32.zip

    标题中的"gcc-arm-none-eabi-9-2019-q4-major-win32.zip"是一个针对Windows操作系统的GCC交叉编译工具链压缩包。这个工具链是专门为ARM架构的微控制器和嵌入式系统设计的,使得开发者可以在运行Windows的个人电脑上...

    gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz

    gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz 工具,我这个免费下载,鄙视那些要币的人!下载后先解压rar,解压就就是gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz了! 我本来想...

    gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf

    gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译32-bit Armv7 Cortex-A, hard-float, little-endian目标中的裸机程序、u-boot、Linux kernel...

    gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf

    gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译32-bit Armv7 Cortex-A, hard-float, little-endian目标中的裸机程序、u-boot、Linux kernel...

Global site tag (gtag.js) - Google Analytics