那些年蹚过的坑

1 main中的参数 尽量用英文双引号括起来,否则可能会出现字符串截断的情况(linux gcc 4.4 不加英文引号的话,遇到英文;会丢弃;后面的部分)

2 包含ipv6地址结构体(in6_addr)的头文件

 

        In6addr.h; Windows Vista and later

 

        Ws2tcpip.h Windows Server 2003 and Windows XP

3 偶然发现的一个特殊用法

        在for循环里面有switch结构的时候,break; 是结束switch选择分支,而continue; 则是作用于for循环

        for (int i = -1;i<10;++i)

        {

               switch (i)

               {

               case 1:

                    break;

               default:

                    continue;

                }

                cout<<"i= "<<i<<endl;

          }

 

4 在使用他人提供的动态链接库的时候, 对应的头文件一定要跟动态链接库的头文件完全一致, 否则哪怕只把一个函数变为虚函数, 也会导致在运行时产生莫名其妙的错误

 

5 mysql 某个用户的Host列为%时, 表示允许任意ip以该用户访问数据库, 但是不包括127.0.0.1. 如果非要这个用户既可以从127.0.0.1,也可以从其他ip访问, 那么应该添加两行记录, 一行写%, 另一行写127.0.0.1

6 inline声明不能用于静态库里面的函数,否则会在编译时找不到函数定义的错误

猜你喜欢

转载自talenth.iteye.com/blog/2197680