社区
新手乐园
帖子详情
c语言代码和汇编码
seraphimpk
2006-08-24 04:03:49
c语言的代码通过编译器是不是应该直接编译成机器码?
那听到有人说,比较两段c代码性能的时候,看一下c代码对应的汇编码?难倒c编译器编译后的是汇编码?还是有其他的工具。
谢谢大家?
...全文
313
15
打赏
收藏
c语言代码和汇编码
c语言的代码通过编译器是不是应该直接编译成机器码? 那听到有人说,比较两段c代码性能的时候,看一下c代码对应的汇编码?难倒c编译器编译后的是汇编码?还是有其他的工具。 谢谢大家?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seraphimpk
2006-08-25
打赏
举报
回复
谢谢楼上的 ,清楚了。
谢谢大家!
hailongchang
2006-08-25
打赏
举报
回复
To seraphimpk(无可救药)
--------------------------------------------
hailongchang(木乃伊)
不一定,你看到的是没有优化过的汇编码,现代编译器最后产生的都是优化过的代码
--------------------------------------------
在哪里看这些代码?
---------------------------------------------
编译器的优化我们没有必要去管它,C代码的编译过程是这样的:
1:预处理, 主要是将头文件展开.
2:汇编 将代码汇编为 汇编语言代码
3:编译 将汇编代码编译为 目标文件,通常是obj后缀的
4:链接 将obj后缀的文件,还有相关的静态库合成为一个可执行文件,exe后缀的
我所说的编译器优化在debug模式下不进行,在release模式下主要是在编译阶段进行,就是根据汇编代码进行优化.在windows下的VC,可以在调试时设置断点,然后在调试菜单中选择反汇编看到.在linux下的GCC,可以分步执行上述步骤看到汇编代码
seraphimpk
2006-08-24
打赏
举报
回复
难道我一直理解的都是错的,现在越来越糊涂了,c代码编译后到底成了什么东西,在哪里?
恳请达人指教,小弟先谢过.
bombwang
2006-08-24
打赏
举报
回复
学习
liujinxing
2006-08-24
打赏
举报
回复
学习
seraphimpk
2006-08-24
打赏
举报
回复
hailongchang(木乃伊)
不一定,你看到的是没有优化过的汇编码,现代编译器最后产生的都是优化过的代码
------------------------
在哪里看这些代码?
hailongchang
2006-08-24
打赏
举报
回复
那听到有人说,比较两段c代码性能的时候,看一下c代码对应的汇编码?难倒c编译器编译后的是汇编码?还是有其他的工具。
--------------------------------------------------------------------------
不一定,你看到的是没有优化过的汇编码,现代编译器最后产生的都是优化过的代码
seraphimpk
2006-08-24
打赏
举报
回复
m_nNightmire(LONGLONG *lpCash, LPVOID *CGirl)
这个指的是在vc中调试的时候看一下汇编码吧,点一下Disassembly按钮就行了
------------------------
只能在vc中吗?tc编译后的汇编码怎么看?
m_nNightmire
2006-08-24
打赏
举报
回复
m_nNightmire(LONGLONG *lpCash, LPVOID *CGirl) ( ) 信誉:100
那听到有人说,比较两段c代码性能的时候,看一下c代码对应的汇编码?
//=============================================================
这个指的是在vc中调试的时候看一下汇编码吧,点一下Disassembly按钮就行了
seraphimpk
2006-08-24
打赏
举报
回复
Bennyatt() 大哥
俺不是想在c语言中嵌入汇编,只是想知道俺的c代码编译后的汇编是咋样的,俺不晓得到哪里看,咋整?
seraphimpk
2006-08-24
打赏
举报
回复
mao2541551()
不是汇编还能使什么啊。
-------------------
呵呵,看来俺错了很久啊,一直以为是机器码,那怎么样才能看到编译器编译后产生的汇编码呢?
Bennyatt
2006-08-24
打赏
举报
回复
C语言中是可以直接 嵌入一些 汇编语言的
我用的VC6。0来做的控制台编程。
但是。。。8好意思具体怎么弄我忘了。。。大书在家呢。。。
大概是这么写的
void main()
{....
....
_asm{
//这里就是 汇编内容
//但是这个是不是用 "_asm"我却真的记8清楚了
}
}
m_nNightmire
2006-08-24
打赏
举报
回复
那听到有人说,比较两段c代码性能的时候,看一下c代码对应的汇编码?
//=============================================================
这个指的是在vc中调试的时候看一下汇编码吧,点一下Disassembly按钮就行了
mao2541551
2006-08-24
打赏
举报
回复
不是汇编还能使什么啊。
单片机课程设计指导(
汇编
、
C语言
)
有单片机课程设计常见的程序
代
码
,包含
汇编
语言和
C语言
两种类型,可作为课程设计参考
C语言
的编译原理详解.docx
C语言
的编译过程包括预处理、编译、
汇编
和链接四个主要阶段。 1. 预处理阶段:预处理器处理源
代
码
,包括插入头文件、宏展开、条件编译和删除注释等,生成预处理后的源
代
码
。 2. 编译阶段:编译器将预处理后的源
代
码
转换为
汇编
代
码
,经过词法分析、语法分析、语义分析和中间
代
码
生成等步骤,生成中间表示形式。 3.
汇编
阶段:
汇编
器将
汇编
代
码
转换成机器
码
,包括将
汇编
指令转换为机器
码
、解析标签和符号、生成目标文件等。 4. 链接阶段:链接器将多个目标文件和库文件结合起来,解析符号、重定向地址、生成可执行程序。 这些阶段通过不同的工具(预处理器、编译器、
汇编
器和链接器)实现,最终将源
代
码
转换为可执行程序。每个阶段都有其特定的任务和工作流程,它们协同工作,构成了
C语言
编译的完整过程。
Python-Bytecode-Disassembler:用
C语言
编写的简单python字节
码
反
汇编
程序(.pyc文件中的字节
码
反
汇编
)
Python字节
码
反
汇编
程序 用
C语言
编写的简单python字节
码
反
汇编
程序(.pyc文件中的字节
码
反
汇编
)
c语言
课堂笔记.zip
C语言
是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。
C语言
的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器
码
以及不需要任何运行环境支持便能运行的编程语言。
C语言
描述问题比
汇编
语言迅速、工作量小、可读性好、易于调试、修改和移植,而
代
码
质量与
汇编
语言相当。
C语言
一般只比
汇编
语言
代
码
生成的目标程序效率低10%-20%。因此,
C语言
可以编写系统软件。 当前阶段,在编程领域中,
C语言
的运用非常之多,它兼顾了高级语言和
汇编
语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是
C语言
应用的两大领域。同时,
C语言
的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
C语言
拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。
程序员
C语言
新手入门.doc
C语言
是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。
C语言
的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器
码
以及不需要任何运行环境支持便能运行的编程语言。
C语言
描述问题比
汇编
语言迅速、工作量小、可读性好、易于调试、修改和移植,而
代
码
质量与
汇编
语言相当。
C语言
一般只比
汇编
语言
代
码
生成的目标程序效率低10%-20%。因此,
C语言
可以编写系统软件。 [2] 当前阶段,在编程领域中,
C语言
的运用非常之多,它兼顾了高级语言和
汇编
语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是
C语言
应用的两大领域。同时,
C语言
的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
新手乐园
33,311
社区成员
41,785
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章