摘要: 上面这个例子就是会出现函数结束了 却忘记了释放内存 产生了内存泄漏 怎么避免这种问题呢 我们就利用函数在终止时 会对栈上的对象进行析构这个特点 产生了智能指针的概念 我们用智能指针来管理分配的资源 当我们函数退出时 智能指针执行自己的析构函数 释放它管理的资源 模板auto_ptr是C++98提供的 阅读全文
posted @ 2018-03-21 11:34 hanhuihanhui 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Q:怎么从用户态切换到内核态 A:用户程序调用系统调用的时候,用户程序先将系统调用号放入eax,执行int0x80指令触发中断,中断发生时,cpu切入内核态,从 用户栈 切换到 内核栈 ,在 内核栈 中依次压入用户态的寄存器,也就是保护现场,根据中断号在中断向量表中查找对应的中断处理程序,并调用它。 阅读全文
posted @ 2018-03-21 11:30 hanhuihanhui 阅读(167) 评论(0) 推荐(0) 编辑
摘要: vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0(默认) HWADDR=00:0C:29:2E:36:16(默认) TYPE=Ethernet(默认) UUID=XXXXXXX(默认) ONBOOT=yes(默认为no,修改为yes意为 阅读全文
posted @ 2018-03-21 11:29 hanhuihanhui 阅读(81) 评论(0) 推荐(0) 编辑
摘要: ls -al /usr/lib | grep libevent 查看是否已经安装libevent库 上面这个压缩包是libevent的源码包,将它拷贝到linux的/tmp目录下(/tmp用来存放临时的文件) su 暂时获取root权限,后面的make install需要root权限 cd /tmp 阅读全文
posted @ 2018-03-21 11:28 hanhuihanhui 阅读(86) 评论(0) 推荐(0) 编辑
摘要: int main() { //1.判断错误,并说明原因 int a=10; int b=10; a++=10;//相当于(a++) = 10,a++返回的是个临时量,临时量是隐式的常变量,不能修改 cout<<&a<<" "<<&a++<<endl;// 相当于&(a++),对临时量进行取地址,&只 阅读全文
posted @ 2018-03-21 11:28 hanhuihanhui 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 解决方法: 先检查CentOS7.0是否已经安装以下两个安装包:telnet-server、xinetd。命令如下: rpm -qa telnet-server rpm -qa xinetd 如果没有安装,则先安装。安装命令: 1.1 安装telnet 1.2 安装xinetd 这里安装xinetd 阅读全文
posted @ 2018-03-21 11:27 hanhuihanhui 阅读(466) 评论(0) 推荐(0) 编辑
摘要: Q:为什么需要makefile A:对大型程序来说,如果只修改了一部分文件,不应对所有源文件重新编译。而make命令可以只重新编译所有受改动影响的源文件,但是你必须要提供一个文件告诉make怎么构造,这个文件就叫makefile。 make介绍 make命令选项和参数 -k 发现错误时继续执行 -n 阅读全文
posted @ 2018-03-21 11:27 hanhuihanhui 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Q:静态库和共享库的区别 A: 静态库是牺牲了空间效率,换取了时间效率,共享库是牺牲了时间效率换取了空间效率 linux上扩展名不同: 静态库以.a结尾,共享库以.so结尾 linux储存位置:静态库的保存位置和共享库是一样的 /lib(系统启动时需要的库,执行shell需要的库,是系统最关键的库) 阅读全文
posted @ 2018-03-21 11:24 hanhuihanhui 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 挂载FAT32的U盘 阅读全文
posted @ 2018-03-21 11:12 hanhuihanhui 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 在编译时需要加 –g,如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。 list 列出源码 break(b) break + 行号 break + 函数名 info break 查看断点信息 run(r) 运行到断点处停止 next(n) 单条语句执行 continue( 阅读全文
posted @ 2018-03-21 11:10 hanhuihanhui 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 首先搞清楚一点,设计模式不是高深技术,不是奇淫技巧。设计模式只是一种设计思想,针对不同的业务场景,用不同的方式去设计代码结构,其最最本质的目的是为了解耦,延伸一点的话,还有为了可扩展性和健壮性,但是这都是建立在解耦的基础之上。 单例是为了保证系统中只有一个实例,其关键点有 一.私有构造函数 二.声明 阅读全文
posted @ 2018-03-21 10:43 hanhuihanhui 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 工厂模式理论我不长篇大论了。其核心功能是根据“需求”生产“产品”,设计模式的核心是解耦。工厂模式就是为了解耦“需求”和“产品”,但是别忘了,工厂模式工厂模式,还有一个重要元素,就是“工厂”,所以工厂模式的核心思想,就是解耦“需求”“工厂”和“产品”。 工厂模式,实际上也会根据业务情景不同会有不同的实 阅读全文
posted @ 2018-03-21 10:18 hanhuihanhui 阅读(224) 评论(0) 推荐(0) 编辑