找回密码
 点一下
查看: 1107|回复: 8

C语言的一个有趣的问题——最小程序问题

[复制链接]
发表于 2008-6-14 19:42:42 | 显示全部楼层 |阅读模式
请高人回答:
下列程序
main()
{}

在编译时和最终生成的可执行文件里都有什么东西?(据说有什么C语言运行系统...)请高人指点,谢谢
发表于 2008-6-14 19:44:13 | 显示全部楼层
  [s:166]

实践出真知

自己试试不就知道了么
回复

使用道具 举报

 楼主| 发表于 2008-6-14 19:48:50 | 显示全部楼层
.file "main.c"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
movl $0, %eax
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (GNU) 4.2.2 20070909 (prerelease) (4.2.2-0.RC.1mdv2008.0)"
.section .note.GNU-stack,"",@progbits
~
汇编了的结果!
有出栈压栈等!
回复

使用道具 举报

发表于 2008-6-14 20:01:30 | 显示全部楼层
  [s:186]

不知道说你强大呢还是无聊
回复

使用道具 举报

 楼主| 发表于 2008-6-14 20:03:46 | 显示全部楼层
无聊人。。。做些无聊的举动貌似不过分吧。。。
回复

使用道具 举报

发表于 2008-6-14 20:05:28 | 显示全部楼层
很……很正常~~~~~~~~~~
回复

使用道具 举报

发表于 2008-6-15 00:11:01 | 显示全部楼层
楼主居然用AT&T的ASM?  很有想象力啊。。
回复

使用道具 举报

发表于 2008-6-15 00:17:55 | 显示全部楼层
gdb貌似默认就是AT&T罢...
回复

使用道具 举报

发表于 2008-6-15 00:19:41 | 显示全部楼层
引用第7楼白银の游戏王于2008-06-15 00:17发表的  :
gdb貌似默认就是AT&T罢...
应该说是GNU系列的都是AT&T。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-10-1 07:28 , Processed in 0.054791 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表