cu文件内主机端函数里面定义的memorysize为什么不能被赋值啊……

我用mfc写了一个程序,其中的一个计算环节调用了cuda来处理,在cu文件中定义了一个主机端函数Accelerat_Conversion,其中定义了
unsigned int mem_size_int = sizeof(int);
unsigned int mem_size_C = 9*sizeof(double)等计算内存大小的变量,但是在断点调试中发现,mem_size_int这些变量无法Add Watch,显示结果是CXX0017,错误:没有找到符号“mem_size_int”

同样,在void Accelerate_Conversion下定义的其他变量都无法Add Watch……

这是什么问题啊?有哪位大侠能帮忙解决下吗?


//从CPU传递到GPU中的数据
void Accelerat_Conversion(int d_nLine, int d_nSample, double Cd4[3][3], double Cd0[3][3], 
   double *d_pPosParameter, double invCd0[3][3], 
   double Xd0, double Yd0, double Zd0, double d_m_CCDsize, 
   double d_m_f, bool d_IsUsingDem, short int  *d_DEM_Data, 
   double d_Average_Altitude, double *d_m_pXvalue, double *d_m_pYvalue, 
   double *d_m_plongitude, double *d_m_platitude, 
   int DemLine, int DemSample, double Demlat_y, double Demlon_x,
   double Demstep_y, double Demstep_x)
 
int g_nLine, g_nSample; 
 double **Cg4, **Cg0, **invCg0; 
 //double Cg4[3][3], Cg0[3][3], invCg0[3][3]; 
 double *g_pPosParameter;
 double Xg0=0.0, Yg0=0.0, Zg0=0.0;
 double m_CCDsize=0.0; 
 double m_f=0.0;
 bool IsUsingDem; 
 short int  *DEM_Data; 
 double Average_Altitude=0;
 double *mm_pXvalue=NULL; 
 double *mm_pYvalue=NULL; 
 double *mm_plongitude=NULL; 
 double *mm_platitude=NULL; 
 g_nLine = d_nLine;
 g_nSample = d_nSample;
 Xg0 = Xd0;
 Yg0 = Yd0;
 Zg0 = Zd0;
 m_CCDsize = d_m_CCDsize;
 m_f = d_m_f;
 IsUsingDem = d_IsUsingDem;
 Average_Altitude = d_Average_Altitude;
 
 unsigned int mem_size_int;
 unsigned int mem_size_C;           
 unsigned int mem_size_PosParameter ;      
 unsigned int mem_size_double;   
 unsigned int mem_size_bool;   
 unsigned int mem_size_Dem; 
 unsigned int men_size_data ;  
 
 mem_size_int = sizeof( int );
 mem_size_C = sizeof(double)*9;           
 mem_size_PosParameter = sizeof(double)*7*d_nLine;       
 mem_size_double = sizeof(double);   
 mem_size_bool = sizeof(bool);   
 mem_size_Dem = sizeof(short int)*DemSample*DemLine; 
 men_size_data = sizeof(double) * d_nLine * d_nSample; 

 
 
 

还是不明白,既然是定义的变量,编译器应该会将它放在寄存器里啊,为什么在调试时找不到这个变量呢

我在调试时也遇到了这个问题,但有些同事却没有遇到这个问题,如果大家的配置都是一样的,那是怎么回事呢

而且实际情况是虽然调试的时候显示的是找不到这个变量或变量显示的值并不是赋给它的值,但程序运行的结果其实是正确的,这对于调试起来确实比较麻烦