
学习心得
文章平均质量分 72
colin719
这个作者很懒,什么都没留下…
展开
-
linux下配置NAT服务
网络地址转换(NAT)是用于将一个地址域(如:专用Intranet)映射到另一个地址域(如:Internet)的标准方法。NAT允许一个机构专用Intranet中的主机透明地连接到公共域中的主机,无需内部主机拥有注册的(以及越来越缺乏的)Internet地址。Internet工程任务组意识到目前地址空间(即所谓的IPv4)即将会耗尽已经有近十年时间了。尽管即将出现的IPv6被视作为原创 2005-08-09 20:08:00 · 14042 阅读 · 0 评论 -
C++开发常用工具“群英会”
C++开发常用工具“群英会”,zt开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附转载 2006-10-17 13:52:00 · 2067 阅读 · 0 评论 -
C语言单元测试
C语言单元测试 对于敏捷开发来说,单元测试必不可少,对于Java开发来说,JUnit非常好,对于C++开发,也有CPPUnit可供使用,而对于传统的C语言开发,就没有很好的工具可供使用,可以找到的有这么几个工具: CuTest -- CuTest(Cute Test)是一个非常简单的C语言单元测试工具。在使用它的时候,只需要包含两个文件“CuTest.c CuTest.h”,然原创 2006-11-29 18:53:00 · 44285 阅读 · 14 评论 -
[转]C++中const用法浅析
看到const 关键字,很多程序员想到的可能是const 常量,这可有点象踩到陷井上还不知道自己危险了。读读以下文字会使你对c++中的const有一个全面的认识。const 是C++中常用的类型修饰符,有某些微妙的应用场合,如果没有搞清本源,则错误在所难免。本篇中将对const进行辨析。溯其本源,究其实质,希望能对大家理解const有所帮助,根据思维的承接关系,分为如下几个部分进行阐述。C转载 2006-08-05 16:05:00 · 1606 阅读 · 0 评论 -
jsp中文显示解决方案
一、JSP页面显示乱码二、表单提交中文时出现乱码三、数据库连接大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。一、JSP页面显示乱码下面的显示页面(display.jsp)就出现乱码:JSP的中文处理out.print("JSP的中文处理");%>对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原转载 2006-08-10 17:52:00 · 2815 阅读 · 2 评论 -
典型数据结构的常见应用
数据结构是用来存储信息的,而算法是用来操作数据的。存储信息常用这些方法:数组、链表、间接寻址和模拟指针等,而这之中又数数组和链表最为常见。很多复杂的数据结构都是基于数组和链表来进行实现的,所以学好二者对于数据结构的学习很重要。数组数组适合于那些需要对元素进行快速查找,插入和删除动作不多的应用。需要注意的是:如果使用静态数组的话,就有容量的限制。如果你对程序性能很关注,那即使使用较大的数组,浪费一些原创 2006-08-20 19:44:00 · 3652 阅读 · 0 评论 -
基于数组或链表的堆栈实现
本文使用C语言,给出了堆栈的两种实现:基于数组和基于链表的实现方式。堆栈是一种常用的数据结构,具有“后进先出(Last In First Out)”的特性,常用来进行函数调用时候的参数传递,解决递归函数书的非递归实现,表达式中的括号匹配等问题。堆栈的常用操作如下: createStack(st):建立一个空栈 push(st, x):将元素x压入栈st当中,使之成为栈顶原创 2006-08-20 21:12:00 · 2492 阅读 · 0 评论 -
阅读源码时有很多的条件编译语句,看起来不爽,怎么办?
有些C程序,在编写的时候,为了应对多种情况(比如说支持多平台,选择某些特性等) ,就在源码当中使用了很多的宏来控制。当某些宏打开的时候某些代码才生效。如果代码当中,这些宏比较少,那还没什么,但是当代码当中有极多的宏的时候,阅读起来就很头疼了。如果有朋友看过QEMU的源码,会深有同感的。它的源码当中定义了很多的宏,有些函数针对某个平台的代码并不长,但是为了支持多平台,它就要定义不同的宏来控制原创 2006-08-19 01:42:00 · 2548 阅读 · 2 评论 -
优化C语言代码常用的几招
在性能优化方面永远注意80-20原则,即20%的程序消耗了80%的运行时间,因而我们要改进效率,最主要是考虑改进那20%的代码。不要优化程序中开销不大的那80%,这是劳而无功的。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法 #defin原创 2007-01-13 16:10:00 · 5291 阅读 · 0 评论 -
最近编程的一点心得
1)编译之前,先用splint检查一下程序,你会收益颇多2)出现了 "segmetation fault" 错误, 通常是引用了空指针,或者未初始化的指针。3)不能malloc,说明对申请的内存操作失误,把glibc的元信息给冲掉了。例如申请了如下空间 int * ptr = (int*) malloc(40); ptr[-1] = 100; /* 上溢 */原创 2007-01-13 17:26:00 · 1366 阅读 · 0 评论 -
交叉编译器制作流程
由于项目的需要,我们需要一个能在x86平台上运行,生成mips应用程序的交叉编译器,最近几天一直在搞这个,看了很多的文章也试了不少的方法,最后终于成功了,还不错,有些新的和大家交流一下。 什么是交叉编译器? 为什么叫“交叉编译器”(cross compiler),就是因为它跨平台来编译程序!原创 2006-05-27 23:54:00 · 13403 阅读 · 1 评论 -
定制linux下环境变量
.S0 { font-family: Verdana; color: #808080; background: #FFFFFF; font-size: 10pt;}.S4 { font-weight: bold; color: #00007F; background: #FFFFFF;}.S5 { font-family:原创 2006-09-25 11:03:00 · 1699 阅读 · 0 评论 -
计算机体系结构的一些基础知识
(一)并行计算机体系结构大型并行计算机系统一般可分为6类:单指令流多数据流机SIMD(Single Instruction Multiple Data);并行向量计算机PVP(Parallel Vector Processor);对称多处理机(Symmetric MultiProcessor);大规模并行处理机MPP(Massively Parallel Processor);分布式共享存储DSM原创 2005-04-13 17:40:00 · 2765 阅读 · 0 评论 -
使用cmd模块实现交互式程序
这两天一直忙着用cmd模块写一个交互式程序来着,前天到凌晨5:00才睡,昨天晚上到2:00才睡。就是为了实现命令的自动完成功能,没成想这么一个小东东费了我九牛二虎之力啊!!!! 还好的是最终还是实现了,只不过现在回过头来想一想,这么做法不好,记得一个老师上课的时候讲过“花费20%左右的努力可以获得80%的效率,可是要获得90%以上的完美效果就可能要花费你另外的80%的辛苦!!!原创 2005-04-25 09:22:00 · 4876 阅读 · 0 评论 -
Python Tips & Tricks
Useful resources:python cook bookdive into pythonpython liabrary manualpython turtorialpythonpython conferrence paperIBM-可爱的python系列python Editorsdownload python books啄木鸟社区Debugging in python Debugg原创 2005-04-25 13:54:00 · 2080 阅读 · 0 评论 -
如何调试包含共享库代码的程序
相信有不少的同志调试过包含共享库代码的程序,这个时候最为头疼的就是不能进行单步跟踪(当然是在你不知道如何解决的情况下^_^),本文根据一个实例来讲述如何来解决这个问题。首先来看我们的程序,包含两个文件:dyn.c, main.c,其中dyn.c被编译成一个共享库libdyn.so,在链接的时候要用到它。有一点必须声明,就是你的共享库代码必须是带有调试信息的(比如使用 -g选项)。 $cat原创 2006-03-06 15:26:00 · 5092 阅读 · 1 评论 -
c语言中的类型转换
首先引出一个问题,这是我在编写模拟器程序的时候遇到的,我们有如下的类型转换: int16_t v16s; uint16_t v16u; int32_t v32s; uint32_t v32u; v16s = 0xf08b; v16u = (uint16_t)v16s; //请问此时v16s和v16u原创 2006-04-05 00:17:00 · 30995 阅读 · 2 评论 -
根据成员变量的地址推算出结构体变量的地址
我们在书写C程序的时候,有时候需要根据结构体成员变量的地址,得到结构体的地址,特别是我们想用C来实现C++的继承特性的时候。我们对问题的分析如下: 输入:一个结构体定义type,这个结构体中某个成员变量的名字member以及它的地址ptr 输出:包含此成员变量的结构体的地址 为了便于分析,我们给出一个实例来说明原创 2006-09-06 13:10:00 · 4658 阅读 · 1 评论 -
项目开发平台搭建:svn+trac+viewvc
开发服务器环境搭建 目的:在Linux平台上搭建一个协同开发工作环境 软件:Linux 2.6 + Apache2 + PHP4.x + Mysql5.x; subversion1.3.1 + mantis1.0.2 基本思路: 使用LAMP搭建一个Web接口,便于管理 使用subversion进行版本控制原创 2006-05-09 23:50:00 · 6575 阅读 · 1 评论 -
使用分治法解决棋盘覆盖问题
棋盘覆盖问题的解法,使用C语言写成,放在这里是为了以后忘记了可以拿过来看看。/**//* * ============================================================================ * * Filename: chess_board.c * * Description: the solution原创 2006-09-16 23:09:00 · 3622 阅读 · 1 评论 -
实验室打印机又不能用了!!
昨天师姐告诉我,实验室的打印机又坏了,不能接收任何打印任务了!我自己实验了一把,果然是,从我的机器不能发送打印任务到打印服务器,好郁闷啊,以前搞这个东西就费了死劲了,可恶的HP LarserJet 1020,在linux下竟然没有标准的驱动,使用其他的驱动总是会出问题!按照我以前的做法是: 把打印机驱动重载一次,结果不行 把机器重新启动一次,结果还是不行原创 2006-05-10 08:55:00 · 2298 阅读 · 0 评论 -
位段结构
位段以位为单位定义结构体(或共用体)中成员所占存储空间的长度。 含有位段的结构体类型称为位段结构。位段结构也是一种结构体类型,只不过其中含有以位为单位定义存储长度的整数类型位段成员。采用位段结构既节省存储空间,又可方便操作。位段结构中位段的定义格式为: unsigned :例如:struct bytedata{unsigned a:2; /*位段a,占2位*/ unsi转载 2007-01-13 20:54:00 · 2541 阅读 · 1 评论