按类别查询搜索结果
关于关键词 的检测结果,共 2470
jxn98310 | 2014-06-26 22:16:03 | 阅读(1120) | 评论(0)
本文通过汇编代码说明了volatile的本质,并不提供原子性的保证【阅读全文】
0n10rz1r0 | 2014-06-26 14:25:25 | 阅读(700) | 评论(0)
OS;32bit ubuntu整型转换的规则:1.整形提升若变量的原型都能用int描述的话,其值范围小于INT_MAX的话就转换有符号int,其值范围大于INT_MAX的话就转换成无符号int。点击(此处)折叠或打开char c1, c2;c1 = c1 + c2 整型提升要求每个变量都提升为int大小。两个in...【阅读全文】
0n10rz1r0 | 2014-06-25 16:33:16 | 阅读(550) | 评论(0)
环境:32位 ubuntu整数值可以因为异常情况(溢出,截断或符号错误)失效,导致可利用的漏洞。1.使用size_t表示一个对象的大小的所有整数值size_t为无符号整数类型。错误代码:点击(此处)折叠或打开char *copy(size_t n, char *str) {int i;if(p == NULL) {...【阅读全文】
0n10rz1r0 | 2014-06-24 14:24:56 | 阅读(450) | 评论(0)
1.Do not modify constant valuesC99标准中说:若通过非const型左值修改const类型的对象,该行为是未定义。点击(此处)折叠或打开char const **cpp;char *cp;char const c = 'A';cpp = &cp; /* constraint violation */*cpp = &c; /*...【阅读全文】
小霸王88 | 2014-06-24 10:21:34 | 阅读(270) | 评论(0)
Mr_Linux | 2014-06-20 22:33:47 | 阅读(1700) | 评论(0)
记录今天的参加的某著名互联网公司的部分笔试题1.计算机大小端判断函数;int data = 0x1234;  if(0x12 == (char*)&data) {    printf("Big End\n"); } else {    ...【阅读全文】
enjoying-spring | 2014-06-18 20:20:41 | 阅读(34510) | 评论(6)
本人使用QT4.8.5编写了一个网络调试助手,支持Windows、Deepin、UBuntu等以及其他支持DEB包的Linux系统的网络调试助手。【阅读全文】
0n10rz1r0 | 2014-06-18 15:52:42 | 阅读(420) | 评论(0)
1.使用括号确保表达式执行顺序: 表达式:x与1相与后判断是否等于0. 错误表达式:点击(此处)折叠或打开x & 1 == 0 因为==操作符的优先级高于&,表达式会先进行(1==0)操作,最后进行(x&0)操作。 正确表示:点击(此处)折叠或打开(x & 1) == 0 ...【阅读全文】
mzh2100 | 2014-06-18 13:18:33 | 阅读(1520) | 评论(0)
一.   区域划分堆: 是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆在操作系统对进程初始化的时候分配,运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就是内存泄漏。栈:是个线程独有的,保存其运行状态和局部自...【阅读全文】
0n10rz1r0 | 2014-06-16 13:17:43 | 阅读(500) | 评论(0)
1.声明对象的存储时间一个对象的存储时间决定了他的生存周期。有三种存储时间:static, automatic,allocated。错误代码:点击(此处)折叠或打开char const *p; void dont_do_this() {    char const str[] = "This will change";...【阅读全文】
mfc42d | 2014-06-12 12:10:45 | 阅读(4400) | 评论(0)
Efence(Electric Fence)可以在debug阶段帮我们最大程度的发现这种问题,并精确定位问题的所在。测试代码点击(此处)折叠或打开#include #include int main(void) {     int *a = (int*)mall...【阅读全文】
0n10rz1r0 | 2014-06-11 14:58:09 | 阅读(450) | 评论(0)
1.用常量(const)或枚举(enum)来声明不可变值一般而言,用const来声明不可变值而不是用宏定义。使用const的话,编译器可以检查对象类型(float, double),对象范围等。对于整型常量,应使用enum(枚举)代替const,可以消除获取整型变量地址可能,同时避免为整型变量分配存储空间。点击(此处)折叠或打开...【阅读全文】
shaohui973 | 2014-06-10 17:17:54 | 阅读(1070) | 评论(0)
0n10rz1r0 | 2014-06-10 16:24:02 | 阅读(320) | 评论(0)
1.宏的变量名加上括号()点击(此处)折叠或打开#define CUBE(I) (I * I * I)int a = 81 / CUBE(2 + 1); 宏扩展后点击(此处)折叠或打开int a = 81 / (2 + 1 * 2 + 1 * 2 + 1); /* evaluates to 11 */...【阅读全文】
xuebabybaby | 2014-06-10 15:47:46 | 阅读(2810) | 评论(0)
项目中需要在多线程环境下,输出日志到标准输出,以下是实现过程。首先,我们需要一个锁类,能够自动初始化,并且降低耦合。/*  * locker.h  *  * Created on: Apr 14, 2012  * Author: joan  */   ...【阅读全文】
0n10rz1r0 | 2014-06-10 14:25:10 | 阅读(260) | 评论(0)
在能使用宏或inline的情况下,建议使用inline。1.不合理的宏使用点击(此处)折叠或打开#define CUBE(X) ((X) * (X) * (X))int i = 2;int a = 81 / CUBE(++i); a扩展(结果未定义):点击(此处)折叠或打开int a = ...【阅读全文】
xitry | 2014-06-09 14:48:44 | 阅读(830) | 评论(0)
本文通过汇编代码说明了volatile的本质,并不提供原子性的保证【阅读全文】
ly336117 | 2014-06-08 13:42:24 | 阅读(990) | 评论(0)
本文讲解了整数提升的问题,需要注意的是无符号数同样可以被提升为有符号数。【阅读全文】
fulinux | 2014-06-08 12:39:02 | 阅读(800) | 评论(0)
多线程并发,处理长连接或者耗时网络操作,提高并发服务效率,相对于select,epoll模型来说,理解简单,适用于单服务器简单负载,例如数据库前置业务服务。
【阅读全文】
xitry | 2014-06-07 11:31:58 | 阅读(910) | 评论(0)
本文介绍了一个头文件不能定义变量的原因【阅读全文】