自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 程序优化

程序优化    函数lower1和lower2都是将一个字符串转换成小写格式。但是两者的效率却相差很大。用下面提供的test函数测试,几乎接近于一倍的关系。在我机子上测试结果是lower1:1125,lower2:656[注2]。    但是很显然,在具体编程中,第一种形式的程序肯定会有不少,原因是简单。而且想当然的认为两者应该差不多。笔者以前也是会选择第一种类型。在看了Computer syst

2005-09-29 13:51:00 1650

原创 一道微软推理题

一道微软推理题问题:    小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强, 张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 3月8日     6月4日 6月7日  9月1日 9月5日  12月1日 12月2日 12月8日     小明说:如果我不知道的话,小强肯定也不知道     小强说:本来我也

2005-09-27 14:46:00 2437

原创 使用gdb调试程序简介

使用gdb调试程序简介一、初始化    输入gdb进入gdb调试环境。或者直接输入gdb + progfile来加载文件。注意该文件是使用gcc(或g++)编译得到的。为了使 gdb 正常工作, 必须使你的程序在编译时包含调试信息,编译时必须使用-g参数来。    或者进入gdb环境后,通过命令file + progfile来加载需要调试的可执行文件文件。    查看源代码:list [函数名][

2005-09-26 13:37:00 3194

原创 C编译过程

C编译过程当在命令行中输入下列编译指令时:gcc -O2 -o p.out p1.c p2.c其后台具体编译过程如下:1、首先分别将p1.c和p2.c文件中的包含的头文件和宏定义在文件中扩展开,形成.i文件;2、然后将p1.i和p2.i编译成汇编代码文件:p1.s和p2.s;3、接着将汇编代码文件在转化成二进制指令文件:p1.o和p2.o;4、最后连接过程,将两个.o文件和一些标准类库函数实现连接

2005-09-20 15:41:00 5186 2

原创 unsigned vs. signed in C/C++

unsigned vs. signed in C/C++    在使用C/C++编程时,无符号数据类型和有符号数据类型是肯定会混合使用的。如DWORD和int数据类型。一般在使用for循环时,或者if判断时,如果编程习惯不好或者稍微马虎时,就会出现问题。如下例:    DWORD i = 0;    int j = -1;    if (j          printf("all right!/

2005-09-19 10:58:00 1761

原创 递归遍历某一路径下的所有文件

递归遍历某一路径下的所有文件    在windows下,可以使用FindFirstFile和FindNextFile来实现。    而在Linux下,则可以使用opendir和readdir来实现。    具体实现见下面两个函数,分别实现了打印某一路径下的所有文件,包括子目录下的文件。在具体实现的时候需要注意设置路径。注:    下面两个程序都通过编译通过,且正常执行。    windows下使用

2005-09-13 20:42:00 2176

原创 一个有关fstream类的bug

一个有关fstream类的bug    近日写程序需要读出文件,对读出的内容作些修改,再写回到文件中。突然发现一个莫名其妙的问题,写回去的时候居然在文件末尾增加了几个字符。感到很不可思议。具体代码如下:  fstream infile;        infile.open("c://test.txt", ios::in);        infile.seekp(0, ios::end);   

2005-09-12 21:06:00 2545 4

原创 编程随记 ---- 拼包程序(四)

编程随记 ---- 拼包程序(四)      正当自我感觉很好的时候,老大让我测试一下主干网捕获下来的数据。一测之后,才发觉自己写的程序根本无法使用。捕获的数据少的可怜,甚至几乎为零。测试使我彻底冷静下来。原来拼包程序并不是如我想象中的那么简单。其复杂度来源于拼包程序的应用环境----主干网。    主干网的流量达到了G级别的量级。也就是说每秒钟至少有几G的流量。而其中30%的数据是有效数据,也就

2005-09-12 20:04:00 3300 2

原创 编程随记 ---- 拼包程序(三)

编程随记 ---- 拼包程序(三)    显然拼包程序主要考虑性能和正确性。显然正确性应该放在第一位,所以先保证程序的正确性,再在此基础上考虑怎样提高性能。    根据上面所描述的,基本上就能把拼包程序写出来了。为每个socket保留一个缓存区,显然每个连接应该有两个缓存区,一个方向一个。每次收到一个数据包:1、判断是否是现有保存的连接,是转2;否转32、状态为接收数据:察看其标志位,如果是SYN

2005-09-08 21:25:00 3126

原创 编程随记 ---- 拼包程序(二)

编程随记 ---- 拼包程序(二)    找来了Richard Stevens的经典著作《TCP/IP祥解 卷1:协议》仔细的翻阅TCP和IP协议部分。从而发现截获到的数据包前面包含若干头:wpcap Header + Ethernet Header + IP Header + TCP Header + Data前面已经分析了wpcap的头部。由于只需要分析TCP数据包,所以以太网包头部只需解析一

2005-09-04 19:40:00 3172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除