懂Win32汇编的帮我看个菜鸟问题
函数返回值保存在eax寄存器中,遇到多线程的情况下会不会发生冲突?为什么?
例如
invoke CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\
hInst,NULL
mov hwnd,eax
invoke到mov之间,eax的值会不会改变?
[解决办法]
不会冲突的. 多线程间切换时, 系统会做好各线程的现场保护和恢复工作的. 要是这个都能被改了, 系统早不知道跑到哪个星球上去了
[解决办法]
lz,我想是WINDOWS的功劳吧!呵呵
[解决办法]
线程调度由操作系统控制