各位:
不知道为什么,我的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是不是也有这些问题?

解决方案 »

  1.   

    你上当啦,给微软作义务测试员。
    VC6 出到SP4才算稳定,
    VS2002 Bug太多,最后出了个补丁版,硬说是vs2003。
    我装了VS2005,幸亏没有把2003给卸掉,用了不到一天就不敢用,512的内存,居然慢的象蜗牛。赶快换回了2003,要用2005还是等微软出了SP1再说。
      

  2.   

    1 看你怎么调用的了。
    2 有些经验吧呵呵,涉及到一些定义的问题编译器处理方法毕竟不一样常用就好了
    3 字符串前面加L表示是UNICODE,你可以在工程设置中不使用UNICODE,或者都用……T()宏。
    4 在选项中设置使用VC6的快捷键,就可以用alt+f8进行自动对齐了。另外,推荐使用Visual Assist X
      

  3.   

    哈哈,SoLike的2005怨念颇重啊我倒是加上VA之后,大概跑一段时间内存使用量可能上200M,但是从来没上过500M另外,1G的内存跑2005貌似还不算慢。。呵呵
      

  4.   

    幸亏Vista没发布,不然Vista+2005,估计买来内存主板都够不插的
      

  5.   

    1.一个测试排序算法程序,wmain函数加两个字函数,控制台程序,简单的函数调用,pTest是发现sortnum函数调用不正常后在从别的调用正常的工程里考来的,可就是说的那样,pTest OK,sortnum不干活,在交换位置之后,两个都不干活了。
    2。那就基本上就只能依靠vs本身的向导了?没自由,是我写程序还是它写程序啊
    3。加L这一点我也知道,但这么改我的变量名,出问题我都不知道往哪里查,那我自己的定义还要它干吗嘛,顺便说一下
    T()宏我也在网上查了半天才知道还有这回事,
    对于这一点,干脆加上了以下编程前必做:
    常规    字符集-〉使用多字节字符集
    C/C++   常规-〉警告等级:关
            语言-〉将Wchar_t视为内置类型:否
    链接器  常规-〉使用UNICODE响应文件:否    
    至于那些讨厌的_s,我在STDAFX.h里就用定义关了它,嘿嘿
    我不过是一个编程爱好者,不想管那些什么安全警告,目前就是通过运行,达到目的即可。
    4。要那样我觉得我还不如换回VC6 ,当初就是冲着新功能,没想到还更不方便,跟我以前学的C++还不同,感觉就像是为学习软件功能一样,而不失实际应用。
      

  6.   

    VS2005除了资源消耗过高外,没什么重大的bug.
      

  7.   

    to DentistryDoctor(牙医的目标是没有蛀牙) ,vc2005现在还有个非常严重的bug,stl实现里有内存泄漏,只能等patch了。或者可以用stlport代替。
      

  8.   

    Ctrl+ k, Ctrl + F 不是可以进行代码格式化哦