如果子程序调用成功,Windows下的system函数返回0,该返回值不是子进程返回值,在Windows系统中因为进程间没有维护相应的父子关系,所以,也无法得到子进程的返回值。
可以编写如下代码C代码:
#include
#include
int main()
{
unsigned ueax = 0;
system("pause");
__asm mov eax, ueax //使用内联汇编,取eax寄存器的值,eax保存函数返回值
printf("%x\n", ueax);
return 0;
}
执行结果如下图所示:
可见,执行程序时,返回值的确是0。