首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】c语言内联汇编如何理解

【说站】c语言内联汇编如何理解

作者头像
很酷的站长
发布2022-11-24 11:26:51
8660
发布2022-11-24 11:26:51
举报

c语言内联汇编如何理解

1、内联汇编在 C/C++代码中嵌入的汇编代码相当于用汇编语句写的内联函数。优点是效率高。

2、使用asm关键词实现。

内联汇编之所以如此有用,主要是因为它可以操作C语言变量,比如从C语言变量获取值,输出值到C语言变量。因为这个能力,asm作为汇编指令和包含它的C程序之间的接口。

实例

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
/* basic command demo */
__asm__("movl %eax, %ecx");
 
/* set b = 10 */
int a = 10, b = 0;
__asm__("movl %1, %%eax;"
     "movl %%eax, %0;"
     :"=r" (b) /* output */
     :"r" (a) /* input */
     :"%eax" /* clobbered register */
     );
 
printf("%s: b = %d\n", __func__, b);
return 0;
}

以上就是c语言内联汇编的理解,希望对大家有所帮助。更多C语言学习指路:C语言教程

本教程操作环境:windows7系统、C11版,DELL G3电脑。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • c语言内联汇编如何理解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档