- 0
- 0
- 约2.89万字
- 约 26页
- 2026-03-16 发布于河北
- 举报
..GC、Inlin.A、M
GC、支持在C、C、+代码中铁入汇编代码,这些汇编代码被称作GC、Inlin.A、M——GC、
内联汇编。这是、非常有用的功能,有利于我们将、C、C+语法无法表达的指令直接
潜入C、C、+代码中,另外也允许我们直接.C、C、+代码中使用汇编编写简洁高效的代码。
1.基本内联汇编
GC、中基本的内联汇编非常易懂.我们先来看两个简单的例子:
_asm_(mov.%esp,%eax)./.看起来很熟悉吧!
或者是
_asm_(
mov.$l,%ea./.SYS_exit
xo.%ebx,%ebx
in.$0x80
);
或
_asm_(
mov.$l,%eax\r\l.\
xo.%ebx,%ebx\r\t.\
Min.$0x80.\
);
基本内联汇编的格式是
—asm_._volatile—(Instructio.List);
1.—asm-
_asm_是GC,关键字asm的宏定义:
#defln._asm_.asm
_asm_或asm用来声明、内联汇编表达式,所以任何、内联汇编表达式都是以它开头
的,是必不可少的。
2.Instructio.List
Instructio.List是汇编指令序列。它可以是空的,比如:—asm_._volatile—或—asm_.();
都是完全合法的内联汇编表达式,只不过这两条语句没有什么意义。但并非所有
Instructio.List为空的内联汇编表达式都是没有意义的,比如:_asm_.(:::memory).就非常
有意义,它向GC、声明:“我对内存作了改动”,GC、在编译的时候,会将此因素考虑进去。
我们看、下面这个例子:
.ca.examplel.c
in.main(in.—argc.char.—argvl.
int._..(int*)_argc.
(*_p..9999.
//_asm—memory).
i((*_p.=.9999.
relur.5.
rctur.(*_p).
)
.这段代码中,那条内联汇编是被注释掉的。在这条内联汇编之前,内存指针_p所指向的内
存被赋值为9999,随即在内联汇编之后,、i语句判断—.所指向的内存与9999是否相等。
很明显,它们是相等的。GC、在优化编译的时候能够很聪明的发现这、。我们使用下面的
命令行对其进行编译:
.gc..examplel.c
选项-O表示优化编译,我们还可以指定优化等级,比如-02表示优化等级为2;选项-S表示将
C、C、+源文件编译为汇编文件,文件名和C、C、+文件、,只不过扩展名由.c变为果
我们来查看、被放在examplel.s中的编译结果,我们这里仅仅列出了使用gc.2.96在
redha.7.3上编译后的相关函数部分汇编代码。为了保持清晰性,无关的其它代码未被列出。
.ca.examplel.s
main.
push.%eb.
mov.%esp.%eb.
mov.8(%ebp).%ca..int._..(int*)_argc
mov.$9999.(%eax..(*_p..999.
mov.$5.%ea..retur.5
pop.%eb.
ret
.照、C、码和编译出的汇编代码,我们会发现汇编代码中,没有if语句相关的代码,而是
在赋值语句(*_p)=9999后直接retur.5;这是因为G
您可能关注的文档
- 《妇人爱子》原文及翻译译文.pdf
- 《高新技术企业培育服务规范》.pdf
- 《建设工程质量检测机构管理评价要求》.pdf
- 《鲁冰花》观后感.pdf
- 《区域光伏发电太阳能资源开发潜力评估方法》编制说明.pdf
- 《少年的你》的观后感.pdf
- 《四年级下册语文口语交际、习作专项复习》教案.pdf
- 《网络操作系统(Windows-server-)》实训指导书.pdf
- 3D打印创新实验室建设专题方案.pdf
- 2023-2024学年贵州省贵阳市人文中学高三语文第三次摸底考试含解析.pdf
- 腾讯安全沙龙:红队视角下的海外SRC猎场:战略、战术与突破.pdf
- 【icap】ETS的范围扩展:设计和政策挑战.docx
- bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
- 2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
- bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
- 住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
- 盘扣式脚手架工程量自动计算表 -培训 -房地产-2025.pdf
- 广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
- 品牌研究+_+2025+CAPSE中国航司品牌榜单.pdf
- 【银河专题】如何看待豆粕内外价差关系.pdf
最近下载
- 智能优化算法解析 第6章 基于群智能的智能优化算法.ppt VIP
- 7500t d制革废水处理工程设计.docx VIP
- Matrix Audio矩声New mini-i说明书用户手册.pdf
- (五个带头)关于2025年度组织生活会个人查摆问题的整改清单.docx VIP
- 高考化学复习高考北京卷三轮复习专题8:金属铁铜(Fe、Cu).pdf VIP
- 江苏省苏北徐州、淮安、连云港、宿迁四市2025-2026学年度第一学期期末高三调研测试(苏北四市一模)数学试卷(含答案).pdf VIP
- 高维非平稳时间序列预测中的跨任务元优化策略与系统集成方案.pdf VIP
- 2025年无人机驾驶员执照安全绩效指标相关法律法规与标准体系专题试卷及解析.pdf VIP
- 全志T3、A40i系列-OKA40i-C&OKT3-C_Qt5.9+linux-3.10用户使用手册_V2.0_20220317.pdf VIP
- 2025年项目管理专业项目档案管理高仿真模拟测试(一)专题试卷及解析.pdf VIP
原创力文档

文档评论(0)