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

简介: linux下将C语言编译为汇编代码,需用-S参数,如下代码 void fun(int a,int b){/*这个函数什么也不做*/}int main(void){ fun(100,200);return 0;} 编译命令为: $ gcc -S s1.

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
相关文章
|
6天前
|
存储 自然语言处理 程序员
【C语言】文件的编译链接和预处理
【C语言】文件的编译链接和预处理
|
6天前
|
C语言 索引
C语言编译环境中的 调试功能及常见错误提示
这篇文章介绍了C语言编译环境中的调试功能,包括快捷键操作、块操作、查找替换等,并详细分析了编译中常见的错误类型及其解决方法,同时提供了常见错误信息的索引供参考。
|
7天前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
16 1
GoLand——windows下如何编译Linux二进制文件
|
1天前
|
Linux 程序员 开发者
源社区的兴起:从“代码隐士”到Linux引领的“全球编程嘉年华”
在编程的古老森林中,曾有“代码隐士”默默耕耘,惧怕智慧外泄。直到“开源”春风拂过,源社区如全球编程嘉年华盛开!开源文化颠覆了“独门秘籍”的传统,像“武林秘籍共享”般在网络上公开,鼓励知识传播与智慧碰撞。程序员组队开发,分享代码,提升科技实力。Linux则从“首席大厨”变身为“总导演”,以强大内核调制出诱人应用,引领潮流并推动技术创新。加入这场没有血腥厮杀,只有知识盛宴的“编程版《饥饿游戏》”吧!与全球开发者共享编程的乐趣与成就感!别忘了带上你的“独门秘籍”,可能下一个改变世界的创意就在其中!
17 7
|
2天前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
11 4
|
5天前
|
C语言
51单片机汇编语言流水灯代码
51单片机汇编语言流水灯代码
|
11天前
|
自然语言处理 编译器 C语言
C语言程序的编译
C语言程序的编译
23 2
|
1天前
|
运维 监控 Linux
"熬夜达人揭秘:Linux系统崩溃前夜,如何用这几行代码救局?监控与排查全攻略!"
【8月更文挑战第19天】作为常需熬夜的系统管理员,面对Linux系统问题时,我总结了一套实用的监控与排查方法。通过使用`top`监控CPU使用率、`free`检查内存状况、`iostat`监测磁盘I/O、及`iftop`观察网络流量,结合`ps`、`pmap`和`strace`等工具深入分析,可有效识别并解决系统瓶颈,减少故障处理时间,保障系统稳定运行。
|
6天前
|
Java Linux 编译器
【Linux】gcc简介+编译过程
【Linux】gcc简介+编译过程
|
13天前
|
安全 应用服务中间件 Linux
linux编译安装nginx
linux编译安装nginx