摘要: 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal) UN 阅读全文
posted @ 2017-03-17 10:34 北纬395427 阅读(3446) 评论(0) 推荐(0) 编辑
摘要: 1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打 阅读全文
posted @ 2017-03-17 10:32 北纬395427 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 using namespace std; 4 class String { 5 public: 6 String (const char* str = NULL) { 7 m_str = new char[strlen(str?str:"")+1]; 8 strcpy (m_str, st... 阅读全文
posted @ 2017-03-14 12:36 北纬395427 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO 阅读全文
posted @ 2017-03-14 12:35 北纬395427 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 算法的时间复杂度和空间复杂度-总结 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增 阅读全文
posted @ 2017-03-11 14:28 北纬395427 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 特殊条件的二分查找: Q:一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5} 是由{6,5,4,3,2,1}左移两位形成的,在这种数组中查找某一个数。 A:任意将这个数组从中间分开,分成两个数组,则至少有一个数组单调递减,另一个数组则可以由递减数组左移若干位得到,所以我们在二分 阅读全文
posted @ 2017-03-10 08:45 北纬395427 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 路由器的三层转发主要依靠CPU进行,而三层交换机的三层转发依靠ASIC芯片完成,这就决定了两者在转发性能上的巨大差别。当然,三层交换机并不能完全替代路由器,路由器所具备的丰富的接口类型、良好的流量服务等级控制、强大的路有能力等仍然是三层交换机的薄弱环节。目前的三层交换机一般是通过VLAN来划分二层网 阅读全文
posted @ 2017-03-09 16:24 北纬395427 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 目标 利用AF_PACKET 套接字发送一个任意的以太网帧 背景 以太网是一个链路层协议。大多数网络程序员关注网络栈的传输层及以上,所以不需要直接处理以太网帧,但是某些场景下关注传输层以下也是有必要的。如: 1)实现网络协议栈里面没有内置的以太网协议类型 2)为测试目的,产生一个畸形或者其它非常规帧 阅读全文
posted @ 2017-03-04 18:35 北纬395427 阅读(8915) 评论(1) 推荐(2) 编辑
摘要: 1 /* 2 模拟登陆练习 3 */ 4 #include 5 #include 6 int main() { 7 int loop = 0; 8 char buf[10]; 9 for (loop = 0; loop < 3; loop++) { 10 printf("请输入用户名:"); 11 fge... 阅读全文
posted @ 2017-02-23 14:08 北纬395427 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日 本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。 GDB是一个由GNU开源组织发布的、UNIX 阅读全文
posted @ 2017-02-23 09:42 北纬395427 阅读(168) 评论(0) 推荐(0) 编辑