当前位置: 技术问答>linux和unix
blade150,Soralis8里用C程序嵌入汇编,怎么取得时钟周期?
来源: 互联网 发布时间:2015-09-04
本文导语: 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;
}
在windows环境是可以的,但移植到Soralis8环境下编译出错。
test.c: In function `cycles':
test.c:39: parse error before '{' token
test.c:36: warning: unused variable `hi'
test.c:36: warning: unused variable `lo'
GCC需要加什么参数?
我用的是-O2 -fomit-frame-pointer -W -Wall
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;
}
在windows环境是可以的,但移植到Soralis8环境下编译出错。
test.c: In function `cycles':
test.c:39: parse error before '{' token
test.c:36: warning: unused variable `hi'
test.c:36: warning: unused variable `lo'
GCC需要加什么参数?
我用的是-O2 -fomit-frame-pointer -W -Wall
|
看一下linux内核源代码,好像有这段代码,我自己也没有写过这个,呵呵,也该学习一下
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。