C/C++ 常出现的错误点
来源:互联网 发布:mac win8截图 编辑:程序博客网 时间:2024/05/16 00:51
1. free(): invalid next size (fast): 0xb73004e8 ***
这一般是属于内存使用错误造成的。有可能是malloc 或者new 内存时的长度,和真正使用指针指向长度时越办造成的。
如 char *str = malloc(5); memcpy(str, "helloworld", 11); // free(str) 时便出错以上的错误
2.linux select 与windows 不一样,linux下使用一次select后,接下来不阻塞?
打日志,调试后才知道,int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); 其中的 timeout 被select 函数修改置0. 而windows是const struct timeval 作为参数则不会有此情况。
3.以下两种出来的a值不一样,尽量少使用宏,特别是涉及修改到参数内容
#define SUM(a,b,c) { a=b+c; }
void sum(int a,int b,int c){
a = c+b+1;
}
#define S(a) (a)*(a)
宏只是编译前简单替换代码内容,而函数真正产生代码。宏是编译期的,函数是运行期的;
宏不是实体,而函数是一个可寻址的实体;
宏只是编译期替换,在程序里每遇到S(a,b),就用a*b代替,a和b两个实体并没有由宏实际产生,而函数S会在栈中定义两个对象a和b。
宏没有生存期、作用域之类的概念,而函数就有。
- C/C++ 常出现的错误点
- 学c容易常出的错误
- c语言中的结构体常出现的一个小错误
- C语言的错误点
- c语言常出错误
- 编程常出现的错误
- c语言编程常犯的<8大错误>
- C语言 常犯的九个小错误
- c编程规范和常范错误
- Unix C 常遇错误解决
- 用JavaMail开发常出现的错误
- GRE词汇常出现的错误
- 编译时时常出现的错误
- linux搭建idea &常出现的错误
- AndoridStudio 常出现的一些错误问题
- C++编译过程常出现的错误
- zencart出现-c-.html 错误的解决方法
- C语言经常出现的错误提示
- 教你如何学习Linux驱动开发
- 使用SharedPreferences 保存用户偏好
- C++ 之高效使用STL(算法 )
- 视图控制器 ( UIViewController )
- Discuz!论坛Tools工具箱功能详解
- C/C++ 常出现的错误点
- thrift 的required、optional探究
- 50个高端大气上档次的管理后台界面模板
- Resin3.1 中配置控制台(resin-admin)页面
- strcpy与memcpy
- Bootchart工具在Android手机上的使用方法和心得
- 电驴下载问题
- 检查action
- HOOK