各位:
不知道为什么,我的VS2005 TeamSuite工作不正常,出现这样几个问题,
1.一个简单的pTest(outarray ,k);
sortnum(outarray ,k);传入的K=2
调用,下面是他们的实现
int *pTest(int *inarray,int t) //int *inarray,int num
{int i=0;
for(;i<3;i++)
printf("%d",inarray[i]);
for(;t>=0;t--);
printf("%d",inarray[t]); return inarray;
}int *sortnum(int *inarray,int t)
{int i=0;
for(;i<3;i++)
printf("%d",inarray[i]);
return inarray;
结果:pTest能够收到T=2,sortnum却不能收到T=2,收到的为T=-1;
然后我一个一个的交换代码,可一直都不能使两个T都收到传入的2,再后来我想起vc里面有头文件的顺序一说,于是我就给两个函数交换位置,这下可好,两个函数都收不到T=2,都是T=-1,这是为什么?
2。前面提到头文件的顺序一说,这也让我心烦:DEVC++不管头文件顺序如何都可编译通过,VS2005TeamSuite就不行,那时候一个问题让我找了半天,最后发现改一下头文件顺序就可通过,那我要是手工添加头文件到里面,哪知道它要什么样的顺序,问问,是不是大家都是这样的,还是我哪里没设置好?
3。VS2005有一个问题:
VS2005有时会自动给变量加上一些前缀,
如下代码函数中的L:
pCedit->GetWindowText(_T(m_元件位号));
AfxMessageBox(Lm_元件位号);//
m_元件位号,Lm_元件位号,实际上是同一变量,如果将后面那个L去掉,就提示Lm_元件位号未定义,可去掉了之后我就根本没有使用到Lm_元件位号这个变量,
虽然说前面加L是一个好习惯,但每个人都有每个人的习惯。
4。VS2005的代码对齐功能也差劲,有时候自动排格式,有时候不排,不排的时候还居多,
网上流传用ALT+F8等等的代码格式化功能,我还没成功过。
大家有没有碰到这些问题?
当初听说VS2005TeamSuite比VC6好用,直接上VS2005,结果一点也不好用,DEVC++好用,但又没有方便快速的MSDN和ATL,MFC支持,郁闷阿
不知道VC6.0是不是也有这些问题?
不知道为什么,我的VS2005 TeamSuite工作不正常,出现这样几个问题,
1.一个简单的pTest(outarray ,k);
sortnum(outarray ,k);传入的K=2
调用,下面是他们的实现
int *pTest(int *inarray,int t) //int *inarray,int num
{int i=0;
for(;i<3;i++)
printf("%d",inarray[i]);
for(;t>=0;t--);
printf("%d",inarray[t]); return inarray;
}int *sortnum(int *inarray,int t)
{int i=0;
for(;i<3;i++)
printf("%d",inarray[i]);
return inarray;
结果:pTest能够收到T=2,sortnum却不能收到T=2,收到的为T=-1;
然后我一个一个的交换代码,可一直都不能使两个T都收到传入的2,再后来我想起vc里面有头文件的顺序一说,于是我就给两个函数交换位置,这下可好,两个函数都收不到T=2,都是T=-1,这是为什么?
2。前面提到头文件的顺序一说,这也让我心烦:DEVC++不管头文件顺序如何都可编译通过,VS2005TeamSuite就不行,那时候一个问题让我找了半天,最后发现改一下头文件顺序就可通过,那我要是手工添加头文件到里面,哪知道它要什么样的顺序,问问,是不是大家都是这样的,还是我哪里没设置好?
3。VS2005有一个问题:
VS2005有时会自动给变量加上一些前缀,
如下代码函数中的L:
pCedit->GetWindowText(_T(m_元件位号));
AfxMessageBox(Lm_元件位号);//
m_元件位号,Lm_元件位号,实际上是同一变量,如果将后面那个L去掉,就提示Lm_元件位号未定义,可去掉了之后我就根本没有使用到Lm_元件位号这个变量,
虽然说前面加L是一个好习惯,但每个人都有每个人的习惯。
4。VS2005的代码对齐功能也差劲,有时候自动排格式,有时候不排,不排的时候还居多,
网上流传用ALT+F8等等的代码格式化功能,我还没成功过。
大家有没有碰到这些问题?
当初听说VS2005TeamSuite比VC6好用,直接上VS2005,结果一点也不好用,DEVC++好用,但又没有方便快速的MSDN和ATL,MFC支持,郁闷阿
不知道VC6.0是不是也有这些问题?
VC6 出到SP4才算稳定,
VS2002 Bug太多,最后出了个补丁版,硬说是vs2003。
我装了VS2005,幸亏没有把2003给卸掉,用了不到一天就不敢用,512的内存,居然慢的象蜗牛。赶快换回了2003,要用2005还是等微软出了SP1再说。
2 有些经验吧呵呵,涉及到一些定义的问题编译器处理方法毕竟不一样常用就好了
3 字符串前面加L表示是UNICODE,你可以在工程设置中不使用UNICODE,或者都用……T()宏。
4 在选项中设置使用VC6的快捷键,就可以用alt+f8进行自动对齐了。另外,推荐使用Visual Assist X
2。那就基本上就只能依靠vs本身的向导了?没自由,是我写程序还是它写程序啊
3。加L这一点我也知道,但这么改我的变量名,出问题我都不知道往哪里查,那我自己的定义还要它干吗嘛,顺便说一下
T()宏我也在网上查了半天才知道还有这回事,
对于这一点,干脆加上了以下编程前必做:
常规 字符集-〉使用多字节字符集
C/C++ 常规-〉警告等级:关
语言-〉将Wchar_t视为内置类型:否
链接器 常规-〉使用UNICODE响应文件:否
至于那些讨厌的_s,我在STDAFX.h里就用定义关了它,嘿嘿
我不过是一个编程爱好者,不想管那些什么安全警告,目前就是通过运行,达到目的即可。
4。要那样我觉得我还不如换回VC6 ,当初就是冲着新功能,没想到还更不方便,跟我以前学的C++还不同,感觉就像是为学习软件功能一样,而不失实际应用。