能力值:
( LV11,RANK:180 )
|
-
-
2 楼
int b;
_asm mov b,eax;
cout<<b<<endl;
这样就可以了
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
EAX是通用寄存器,随时会变化的!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我的意思是在C语言中使用eax
比如,
return eax;
if (b > eax>; 等等c语言语句
|
能力值:
( LV7,RANK:100 )
|
-
-
5 楼
C语言语句不能直接访问寄存器,所有的高级语言都不能。
所以编译器不知道你的b>eax是什么意思。
如果想使用寄存器的话可以使用内联汇编。
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
int eax = FindWindow(NULL,NULL);
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
不有寄存器变量吗?
我不大会用 可以试试
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
看来LZ还不解编程 ,还有汇编语言,还有编译原理
EAX,EBX,ECX,EDX,ESP,EBP等等都是CPU里的通用寄存器
像你C语言用寄存器?只有汇编语言才可以操作读取寄存器
retrun eax ???这不是语法错误嘛,C语言没有eax关键字
一般C语言编译器是用eax做为返回值,但也不是一定得要这样,是看编译器怎么生成机器代码了
比如
int ret;
__asm
{
call MyFun
mov ret,eax //把eax放到ret来
}
return ret;
|
|
|