遇到一个很怪的问题,请教高手比如有个函数声明为 function(int var1,int& var2,int *pVar3);
该函数内部嵌入了SSE2指令:
{
-->    mov eax,[var1]
    ...
}
发现此时var1已经被释放了,变成一个很大的负数,var2和pVar3也存在同样的问题.而在SSE2指令外部,这些值都使用正常,
难道intel C++ 编译器处理 函数传进的参数 有问题? 请高手赐教!分数好说!来者有份!

解决方案 »

  1.   

    建议你去装了processor pack,可以在VC中像调用函数一样调用SSE,MMX,3DNOW指令。
      

  2.   

    刚用VC6的_asm加入一些普通指令(非SSE、SSE2),没有错。
    Intel的编译器应不会错吧,你肯定了将编译程序调来“Pentium IV“吗?
    或者试一试Ms的,
    http://vcp4.51.net/VC/Other.htm
    第11条有MS的下载网址。
      

  3.   

    我试过INTEL,和MS在SSE2上没区别
    参数释放是不可能的,跟踪一下什么时候变的
    另外mov eax,[var1]看上去怪怪的,应该mov eax,var1吧?
      

  4.   

    mov eax,var1 是取值
    mov eax,[var1] 是取地址把