最近在把一个程序从linux上移植到Windows上发现时发现了几个问题.
难道gcc编译器和vs编译不同的缘故吗?
case1:
在对string类操作时
last = strtmp2.find_last_not_of(" \t");
if(first == string::npos || last == string::npos)
return ;
string value = strtmp2.substr(first, last-first+1);//这句中在linux下不需要加1,而在Windows下需要加1
case 2:
for(int i = 0; i < 10, 1; i++);
linux下结果:死循环
windows下结果10
结论逗号表达式的取值不同
case 3:
int nArrayWide = 100;
BYTE testArray[nArrayWide] = {0};
linux能通过
windows下编译错误