您的位置:首页 > 运维架构 > Linux

linux下C语言编译为汇编代码

2015-08-18 09:37 645 查看
linux下将C语言编译为汇编代码,需用-S参数,如下代码

void fun(int a,int b)
{
/*这个函数什么也不做*/
}

int main(void)
{
fun(100,200);
return 0;
}


编译命令为:

$ gcc -S s1.c

编译后的结果为:

1 .file    "s1.c"
2     .text
3 .globl fun
4     .type    fun, @function
5 fun:
6     pushl    %ebp
7     movl    %esp, %ebp
8     popl    %ebp
9     ret
10     .size    fun, .-fun
11 .globl main
12     .type    main, @function
13 main:
14     pushl    %ebp
15     movl    %esp, %ebp
16     subl    $8, %esp
17     movl    $200, 4(%esp)
18     movl    $100, (%esp)
19     call    fun
20     movl    $0, %eax
21     leave
22     ret
23     .size    main, .-main
24     .ident    "GCC: (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5"
25     .section    .note.GNU-stack,"",@progbits


/article/4930630.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: