当前位置: 技术问答>linux和unix
Unix C支持嵌入汇编语言吗?
来源: 互联网 发布时间:2015-09-01
本文导语: double cycles(void) { dword hi,lo; __asm { _emit 0x60 _emit 0x0f _emit 0xa2 _emit 0x0f _emit 0x31 mov lo,eax ...
double cycles(void) {
dword hi,lo;
__asm
{
_emit 0x60
_emit 0x0f
_emit 0xa2
_emit 0x0f
_emit 0x31
mov lo,eax
mov hi,edx
_emit 0x0f
_emit 0xa2
_emit 0x61
}
return 4294967296.0 * hi + lo;
}
这段计算时钟周期的函数能支持吗?
用gcc编译的时候没有通过,出错。
test.c: In function `cycles':
test.c:21: parse error before '{' token
怎么办呢?
dword hi,lo;
__asm
{
_emit 0x60
_emit 0x0f
_emit 0xa2
_emit 0x0f
_emit 0x31
mov lo,eax
mov hi,edx
_emit 0x0f
_emit 0xa2
_emit 0x61
}
return 4294967296.0 * hi + lo;
}
这段计算时钟周期的函数能支持吗?
用gcc编译的时候没有通过,出错。
test.c: In function `cycles':
test.c:21: parse error before '{' token
怎么办呢?
|
现在在市面上只能看到基于INTEL芯片的汇编代码,其它的很难查,要么你就去读最近版的LINUX内核源码。
可以参考LINUX源代码完全注释一书,那里面写了如何嵌入汇编(好像就在第三章)。
可以参考LINUX源代码完全注释一书,那里面写了如何嵌入汇编(好像就在第三章)。
|
在LINUX下的嵌入式汇编是可以的(但与标准的C语言嵌入汇编的方式有点不一样),你可以参考LINUX源代码完全注释一书,那里面写了如何嵌入汇编(好像就在第三章)。
|
不同的系统架构不一样的
|
是可以的
|
要看用的什么CPU吧
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。