汇编中内联c语言

可以汇编中内联c语言么,怎么做,不可以的话,为什么... 可以汇编中内联c语言么,怎么做,不可以的话,为什么 展开
 我来答
furious_tauren
2014-01-10 · TA获得超过4056个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:774万
展开全部

不能!

编译分好几个阶段, 拿 gcc 来说 ,大体上如下:

  1. 展开宏(预处理)

  2. 把 c 翻译成 汇编

  3. 把汇编翻译成机器码

  4. 链接

因此 c 能内联汇编, 汇编不能内联 c。


如果说 汇编中一定要使用 c 函数, 把 c 函数写在 c文件里,然后在 汇编文件里调用不就得了?

你非弄什么 内联吗?

一个不愿透露姓名的朋友
2014-01-10 · TA获得超过2864个赞
知道小有建树答主
回答量:1495
采纳率:37%
帮助的人:547万
展开全部
我用过的编译器:tc、gcc
我跟你说说他们是怎么内嵌汇编的:
tc很简单
asm
{
mov ax,bx
.....
}
gcc稍微复杂一点,将不清楚,你具体可以查查相关资料。
gcc中:#define _asm_ asm
asm("movl %%eax,%%ebx \n");
另外gcc只支持at&t汇编。
至于dev c++和cfree、visual c++之类的,我就不清楚了,具体你可以找找资料!
追问
你这个我知道,但这个是c语言中内联汇编,不是汇编中内联c语言啊。。
追答
不好意思,太匆忙了,没看仔细,么想到你的问题那么逆天。这个没有办法实现,标准的汇编做不到,不过你可以把C封装成库,用汇编调用之。直接内嵌根本不可能,那样的话汇编就不是汇编了,那汇编还有什么意义?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小乖晓晓乖
2014-01-10 · TA获得超过543个赞
知道小有建树答主
回答量:905
采纳率:100%
帮助的人:560万
展开全部
不能!
实际上,C语言编译器都支持汇编,如果你的汇编代码很多,可以直接在C编译器中写,需要更改的地方不是太多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AINI6658
2014-01-10 · TA获得超过2268个赞
知道大有可为答主
回答量:1707
采纳率:66%
帮助的人:540万
展开全部
何必呢,告诉你个秘密,其实一个项目能使用多个语言的模块。
追问
这是我们课程的一个习题,复习中遇到的问题我也不想这么麻烦。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-10
展开全部
低级语言内嵌高级语言,没见过。
不是不可以,但这需要编译器进行支持,首先将c编译成汇编,再用汇编器生成二进制文件。没听说过哪个编译器这么无聊的。
如果你可以自己写编译器的话是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友59eb074
2014-01-10 · TA获得超过422个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:154万
展开全部
难道不是应该C内联汇编吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式