摘要: Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。这时候,就需要使用其他的算法来求解最短路径,Bellman-Ford算法就是其中最常用的一个。该算法由美国数学家理查德•贝尔曼(Richard Bellman, 动态规划的提出者)和小莱斯特•福特(Lester F... 阅读全文
posted @ 2010-05-24 14:44 Lux 阅读(967) 评论(0) 推荐(0) 编辑
摘要: UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射到内存中。函数:void *mmap(void *start,size_t l... 阅读全文
posted @ 2010-03-31 16:37 Lux 阅读(1886) 评论(0) 推荐(1) 编辑
摘要: GDB常用调试命令 GDB调试命令命令 描述 backtrace(或bt)查看各级函数调用及参数finish连续运行到当前函数返回为止,然后停下来等待命令frame(或f) 帧编号选择栈帧info(或i) locals查看当前栈帧局部变量的值list(或l)列出源代码,接着上次的位置往下列,每次列10行list 行号列出从第几行开始的10行源代码list 函数名列出某个函数的源代码next(或n)... 阅读全文
posted @ 2010-03-30 09:42 Lux 阅读(417) 评论(0) 推荐(0) 编辑
摘要: C程序员常遇到的关于指针的面试题[代码]请问运行Test函数会有什么样的结果?答:程序崩溃。因为GetMemory并不能传递动态内存,Test函数中的str一直都是NULL。strcpy(str,"helloworld");将使程序崩溃。[代码]请问运行Test函数会有什么样的结果?答:可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是NULL... 阅读全文
posted @ 2010-03-25 10:23 Lux 阅读(553) 评论(0) 推荐(1) 编辑
摘要: 锁的类型:根据完成任务所需要的结构不同,一个应用程序可能会使用多种不同类型的锁原语,因此,开发人员必须避免在一个给定任务中混淆这些锁原语,尤其在使用第三方提供的库时需要格外小心。假设在一个应用程序中,资源R依赖于第三方提供的库,并且在该库中资源R使用L型锁作为同步原语。此时,若开发者需要在应用程序中对资源R使用锁原语,则必须也使用L而不是其他类型的锁原语。接下来的部分将介绍不同类型的锁,并详细说明... 阅读全文
posted @ 2010-03-23 17:08 Lux 阅读(1094) 评论(0) 推荐(0) 编辑
摘要: 如何去检测网络的连接状态(C#) 收藏 在有些程序中,你可能希望能检测网络是否连通的,而又不想销耗过多的系统资源,下面的方法是直接调用系统的API去做到检测。 1. 方法定义  [DllImport("wininet.dll")]  private extern static bool InternetGetConnectedState( out int connectionDescriptio... 阅读全文
posted @ 2010-03-23 17:03 Lux 阅读(830) 评论(1) 推荐(0) 编辑
摘要: 虚拟内存管理总结 (转)  操作系统为每一个进程维护着一个虚拟的地址空间,这个地址空间的大小通常取决于系统的地址线数目,比如在32位系统中,虚拟地址空间的返回就是0×00000000~0xFFFFFFFF,大小共4G。通常操作系统会划分出一部分来专门供内核使用,而不允许用户进程直接访问。Linux内核占用4G中高地址的1G,即0XC0000000~0XFFFFFFFF,windows内核... 阅读全文
posted @ 2010-03-09 13:50 Lux 阅读(1050) 评论(0) 推荐(0) 编辑
摘要: Libnids(Library Network Intrusion Detection System)是一个网络入侵检测开发的专业编程接口。它实现了基于网络的入侵检测系统的基本框架,并提供了一些基本的功能。使用Libnids可以快速地构建基于网络的入侵检测系统,并可以在此基础上进一步扩展开发。Libnids实现了入侵检测系统的底层功能,使开发者可以专注于高层的功能开发。 Libnids是基于Lib... 阅读全文
posted @ 2010-01-17 18:09 Lux 阅读(2101) 评论(0) 推荐(0) 编辑