08 2013 档案
多重继承和虚拟继承下的内存分布
摘要:最近在看《深入探索C++对象模型》中的多重继承和虚拟继承,慢慢的就绕进去了,挣扎着挣扎着又出来了,下面将一点心得体会写下来,也算做一个总结。(1)多重继承多重继承是指一个类继承自多个基类,在这种情况下,从第二基类开始,基类的首址就不再和派生类的首址一致了,此时通过第二基类及以后的基类调用派生类的虚函数时,就需要调整this指针。为了形象的说明其原因,不妨定义如下继承体系进行说明:class Base{public: Base() { } virtual void fun() { }};class Head{public: Head() {... 阅读全文
posted @ 2013-08-29 15:15 Sophia-呵呵小猪 阅读(441) 评论(0) 推荐(0)
网络相关概念二:网络层
摘要:一 网络层的设计思路网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。网络层在发送分组时不需要先建立连接,每一个分组独立发送,与其前后的分组无关,不进行编号。网络层不提供服务质量的承诺,传送的分组可能出错、丢失、重复和失序,也不保证分组交付的时限。这种设计的好处:网络的造价大大降低、运行方式灵活、能够适应多种应用。二 网际协议IP网络层协议IP可以是互连起来的许多计算机网络能够进行通信,因此网络层通常称为网际层,或IP层。之前在物理层和数据链路层中讲述到可以通过转发器或网桥来扩大网络,但它们并没有实现网络互连。在网络层以上的网关可以实现网络互连,但是比较复杂,所以使用最多的实现 阅读全文
posted @ 2013-08-18 12:30 Sophia-呵呵小猪 阅读(483) 评论(0) 推荐(0)
介绍一款可以在Windows实现远程复制文件的工具:winscp
摘要:博客园的贴图不够给力啊,每次弄好了,换一台电脑就看不到了,大大影响描述的清楚性,所以在这里就不贴图啦,直接语言描述了。(1)Putty(下载地址:http://yunpan.cn/QXJuBSAkmWyHm)PuTTY为一开放源代码软件,可以在Windows下实现远程登录到Windows或Linux服务器的需求,复杂的用法我不介绍,这里我只记述我的使用过程。首先解压文件后,双击PUTTY.EXE文件,在弹出的界面Host Name中输入要连接的IP地址,端口号默认为22,Protocol选择为SSH。为了不在每次登录的时候都要输入IP地址,可以在Saved Sessions中输入一个名字,然后 阅读全文
posted @ 2013-08-16 17:27 Sophia-呵呵小猪 阅读(3497) 评论(0) 推荐(0)
网络相关概念一:物理层和数据链路层
摘要:一 物理层物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽网络中的硬件设备、传输媒体的差异,使物理层上面的数据链路层感觉不到这些差异,这样就可以使数据链路层只需考虑如何完成本层的协议和服务。带宽:本来指某个信号具有的频带宽度。在计算机网络中,则指通信线路所能传送数据的能力,表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”,单位是比特每秒。吞吐量:单位时间内通过某个网络(或信道、接口)的数据量。二 数据链路层数据链路层使用的信道有两种类型:点对点信道和广播信道(需要共享信道协议来协调)。(1)点对点信道点对点信道中 阅读全文
posted @ 2013-08-15 16:57 Sophia-呵呵小猪 阅读(1144) 评论(0) 推荐(0)
华为机试题
摘要:下面两道题是同学从华为机试回来之后出给我的题目,这里我将自己的解决思路写下来,供相互交流。题目1:输入一组数,第一个数为num,判断后面数的部分或全部之和是否可以等于第一个数num。解决思路:假设已经计算了第i个元素之前的数组部分的所有可能的部分和,数目为n个,那么当将第i个元素考虑进来的时候,将增加的可能和为n+1个,其中n个为之前的所有可能和加上a[i-1]的结果,还有一个是只有a[i-1]的部分和a[i-1]。这样一来采用递归的方法,对于有m个元素的数组,部分和为2^m-1个,然后比较这些和与num。题目2:输入城市数目n,并用矩阵来表示城市之间是否可以到达,矩阵中的元素0表示两城市之间 阅读全文
posted @ 2013-08-12 17:13 Sophia-呵呵小猪 阅读(304) 评论(0) 推荐(0)
gdb在含多文件夹的工程中调试
摘要:在unix/linux下编写工程时,有可能需要根据模块划分将源代码文件划分为多个文件目录,这时如果要使用gdb调试,那么就应该先cd到要调试的文件所在目录中,然后在Makefile中的首行添加CFLAGS = -g这一项,并重新编译。此外,在主文件夹下,还应使用dir命令将要调试的其他文件所在目录添加进来,这样就可以在主文件下直接查看其他目录下文件的源代码、设置断点等。 阅读全文
posted @ 2013-08-09 18:13 Sophia-呵呵小猪 阅读(2815) 评论(0) 推荐(0)
gdb调试中出现No symbol table is loaded. Use the "file" command.问题
摘要:在unix/linux系统下使用gdb进行调试时,如果出现:No symbol table is loaded. Use the "file" command.原因是没有在Makefile中添加-g调试参数,或者添加位置出错,解决的办法是在Makefile文件的第一行加上:CFLAGS = -g然后重新make即可。 阅读全文
posted @ 2013-08-09 17:45 Sophia-呵呵小猪 阅读(13303) 评论(0) 推荐(1)
Unix/Linux下的Shell命令解释程序
摘要:Unix的Shell是作为操作系统的最外层,也称外壳。它有以下几种身份:作为命令语言:为用户提供使用操作系统的接口,用户利用该接口与机器交互;作为程序设计语言:用户可以利用多条Shell命令构成一个文件,称为Shell文件或Shell过程;作为Shell命令解释程序:用于对从标准输入或文件中读入的命令进行解释执行。本章主要介绍Shell命令语言。一 简单命令简单命令是一个能完成某种功能的目标程序的名字,按功能将命令分为如下五大类:(1)进入与退出系统进入系统也成为注册,用户须与系统管理员商定一个唯一的用户名,管理员用该名字在系统文件树上,为用户建立一个子目录树的根节点。打开终端后,屏幕上会出现 阅读全文
posted @ 2013-08-09 13:34 Sophia-呵呵小猪 阅读(2498) 评论(0) 推荐(0)
MS-DOS下的命令解释程序COMMOND.COM
摘要:(1)命令解释程序在所有的OS中,都把命令解释程序放在OS的最高层,以便能直接与用户交互。该程序的主要功能是先对用户输入的命令进行解释,然后转入相应命令的处理程序去执行。在MS-DOS中的命令解释程序是COMMAND.COM,在UNIX中是Shell。这一章中将主要讲述MS-DOS下的COMMOND.COM命令解释程序。在联机操作方式下,终端处理程序把用户键入的信息送键盘缓冲区中保存,一旦用户键入回车符,便立即将控制权交给命令处理程序。命令解释程序的主要作用是在屏幕上给出提示符,请用户键入命令,然后读入该命令,识别命令,再转到相应命令处理程序的入口地址,把控制权交给该处理程序去执行,并将处理结 阅读全文
posted @ 2013-08-08 14:20 Sophia-呵呵小猪 阅读(1017) 评论(0) 推荐(0)
操作系统接口分类
摘要:操作系统是用户与计算机硬件系统之间的接口,OS向用户提供了如下两类接口:(1)用户接口:该接口支持用户与OS之间进行交互,即由用户向OS请求提供特定的服务,系统则把服务的结果返回给用户;(2)程序接口:OS向编程人员提供了“程序与操作系统的接口”,简称程序接口,也称应用程序API(Application Programming Interface)。该接口是为程序员在编程时使用,系统和应用程序通过这个接口,可在执行中访问系统的资源和取得OS的服务,它也是程序能取得操作系统服务的惟一途径。大多数操作系统的程序接口是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序。此外,随着网络的 阅读全文
posted @ 2013-08-08 13:21 Sophia-呵呵小猪 阅读(2270) 评论(0) 推荐(0)