`
yaojingguo
  • 浏览: 202402 次
  • 性别: 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
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics