- 博客(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关注的人