我用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;