社区
community_281
帖子详情
Gcc如何将C源程序编译成汇编代码
z341223318
2007-12-24 12:10:16
我想看看与C源程序相对应的汇编代码.
听说GCC能够能将C源程序转化成汇编代码.
请高手指点.
...全文
903
9
打赏
收藏
Gcc如何将C源程序编译成汇编代码
我想看看与C源程序相对应的汇编代码. 听说GCC能够能将C源程序转化成汇编代码. 请高手指点.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xengine-qyt
2011-09-01
打赏
举报
回复
gcc -S 源文件, 编译成汇编语言 但是并不编译该程序 vim 打开即可
ww2000e
2011-09-01
打赏
举报
回复
都问到水区了
pro_or_gram
2011-08-31
打赏
举报
回复
[Quote=引用 1 楼 lauxp 的回复:]
gcc -S a.c
[/Quote]
+1
楼主,别介意,问题问的有点弱
1,gcc文档你不看
2,在提示符进入.c文件所在的目录,输入1楼给出的例子,换成具体的.c文件就可以了,
在当前目录下会生成.S文件,
随便用什么编辑器都可以打开的
tsh185
2011-08-21
打赏
举报
回复
.file "a.c"
2 .globl a
3 .data
4 .align 4
5 .type a, @object
6 .size a, 4
7 a:
8 .long 2
9 .section .rodata
10 .LC0:
11 .string "a=%d\n"
12 .text
13 .globl main
14 .type main, @function
15 main:
16 leal 4(%esp), %ecx
17 andl $-16, %esp
18 pushl -4(%ecx)
19 pushl %ebp
20 movl %esp, %ebp
21 pushl %ecx
22 subl $20, %esp
23 movl a, %eax
24 movl %eax, 4(%esp)
25 movl $.LC0, (%esp)
26 call printf
27 movl $0, %eax
28 addl $20, %esp
29 popl %ecx
30 popl %ebp
31 leal -4(%ecx), %esp
32 ret
33 .size main, .-main
34 .ident "GCC: (GNU) 4.1.2 20080704 (Red Hat 4.1.2-44)"
35 .section .note.GNU-stack,"",@progbits
tsh185
2011-08-21
打赏
举报
回复
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int a ;
5 int a ;
6 int a ;
7 int a ;
8 int a ;
9 int a = 2 ;
10
11 int main()
12 {
13 printf("a=%d\n",a);
14 return 0 ;
15 }
wsmwoshixiaobai
2007-12-24
打赏
举报
回复
老大 你去百度上找啦
我只知道用VC看 不好意思啊
没什么说的
z341223318
2007-12-24
打赏
举报
回复
能不能说的详细点,执行命令后产生什么文件,
如何打开.
谢谢!!1
lauxp
2007-12-24
打赏
举报
回复
gcc -S a.c
zzyjsjcom
2007-12-24
打赏
举报
回复
gcc -S -o a.txt a.c
用记事本打开
gcc
,g++ GNU C 手册
gcc
,g++ GNU C 手册,包括各种调试命令,选项,让你迅速掌握
gcc
g++进行开发. .c C
源程序
;预处理,编译,
汇编
.C C++
源程序
;预处理,编译,
汇编
.cc C++
源程序
;预处理,编译,
汇编
.cxx C++
源程序
;预处理,编译,
汇编
.m Objective-C
源程序
;预处理,编译,
汇编
.i 预处理后的C文件;编译,
汇编
.ii 预处理后的C++文件;编译,
汇编
.s
汇编
语言
源程序
;
汇编
.S
汇编
语言
源程序
;预处理,
汇编
.h 预处理器文件;通常不出现在命令行上
C语言编译过程
编译的概念:编译程序读取
源程序
(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的
汇编
代码
,再由
汇编
程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C
源程序
-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->
汇编
程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)
Linux编程之
GCC
编译工具实战
本课程使得学员能够学会在linux中如何编译C/C++程序,使用
GCC
工具如何编译静态库,动态库,如何配置运行动态库。
GCC
编译器编译过程
GCC
编译器在编译一个C语言程序时需要经过以下 4 步: 将C语言
源程序
预处理,生成.i文件。 预处理后的.i文件
编译成
为
汇编
语言,生成.s文件。 将
汇编
语言文件经过
汇编
,生成目标文件.o文件。 将各个模块的.o文件链接起来生成一个可执行程序文件。 常用编译命令选项 无选项 用法:#
gcc
test.c 作用:将test.c预处理、
汇编
、编译并链接形成可执行文件。 这里未指定输出文件,默认输出为a.out。 选项 -o 用法:#
gcc
test.c -o test 作用:将test.c预处理、汇
C语言源文件到
汇编
语言的编译,C语言源文件到
汇编
语言的编译
这是我们经常写的最简单的程序:#include int main(){printf("Hello,world!\n");return 0;}在我们使用
gcc
指令来编译C语言源文件的时候,在命令行输入下面命令:[root@localhost kangkang]#
gcc
-o hello hello.c //#编译C
代码
生成目标文件为hello。默认情况下,
gcc
指令将编译连接过程一步完成,使用...
community_281
590
社区成员
254,055
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章