- 博客(16)
- 资源 (18)
- 收藏
- 关注
转载 C++ 对象的内存布局(下)
C++ 对象的内存布局(下)http://blog.csdn.net/haoel 转载于:http://blog.csdn.net/haoel/article/details/3081385 重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承
2013-07-22 10:33:53 1560
转载 C++ 对象的内存布局(上)
C++ 对象的内存布局(上)http://blog.csdn.net/haoel转载于:http://blog.csdn.net/haoel/article/details/3081328前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这
2013-07-22 10:30:44 1609
转载 C++ 虚函数表解析
C++ 虚函数表解析http://blog.csdn.net/haoel转载于:http://blog.csdn.net/haoel/article/details/1948051 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种
2013-07-22 10:26:05 1564
原创 Linux Shell 之 制作录制回放功能脚本
不久前在书上看到两个很有趣的命令——script和srciptreplay,它可以把终端会话记录到一个文件中,即是说我们可以通过终端会话来来制作命令行技巧视频教程,也可以与他人分享会话文件,而且生成的文件还只是一般的文本文件,文件的大小非常小,真是非常有意思。下面是本人写的两个shell程序,来方便进行这个有趣并有意义的操作。一、实现代码文件:Record.sh#! /
2013-07-19 10:57:06 4348 2
转载 linux 中特殊符号用法详解
# 井号 (comments)#管理员 $普通用户脚本中#!/bin/bash #!/bin/sh井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行。# This line is comments.echo "a = $a" # a = 0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就行
2013-07-17 21:47:14 39337 2
原创 Linux Shell 之 对文件中的行、单词、字符进行迭代
在进行文本文件进行处理时,对文件件中的行、单词、字符进行迭代和遍历是非常常用的操作。而将一个简单的循环用于迭代,再加上来自stdin或文件的重定向,这就是对文件中的行、单词、和字符进行迭代的基本方法。废话不多说,马上来看看怎么样实现吧。1、迭代文中的每一行使用while循环从标准输入中读取,因为要在标准输入中读取,就要对文件进行重定向,使它重定向到stdin中,代码如下
2013-07-16 16:55:20 10166 1
原创 Linux Shell 之 Shell中的函数调用
说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很“自然”的错误,也让我吃了不少的苦头,所以总结一下Shell中函数的调用方法。一、Shell中函数的定义为了方便程序和管理和模块化并减少代码的重复,函数的确是一个好东西。而Shell中函数的定义有两种方法,如下:functi
2013-07-15 16:16:38 105988
原创 Linux Shell 之 我的第一个Shell程序
这里我首先会介绍一个Shell是什么,再介绍我的第一个Shell程序和从中总结的经验。一、Shell是什么在说我的这个Shell程序之前,还是先跟大家说说什么是Shell吧,相信Shell这个词大家一定听过很多了,但是它其实是什么东西呢?其实Shell是一个程序,我们在shell中输入一些命令,它就告诉操作系统内核我们想做什么,好让内核可以控制硬件来正确无误地工作。简单点来说就
2013-07-14 16:42:15 9115 4
原创 初窥Linux 之 区分硬连接和软连接
一、Linux下的两种连接文件及创建方式在Linux下面的连接文件有两种——软连接和硬连接,虽然都是连接文件,但两者却有很大的区别。一种是类似于Windows的快捷方式功能的文件(或目录),这种连接称为软连接;另一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种称为硬连接。创建连接文件的方法非常简单,就是使用ln命令,ln file1 file2,则创建硬连
2013-07-14 13:52:03 7580
原创 初窥Linux 之 简述软件安装
对于Windows的用户来说,软件安装的确是没有什么学问,一直Next或者改一下路径,软件就会装好了。但是在Linux下可没这么简单了。Linux下的软件安装主要有三种方式,分别是rpm(RedHat系列)或DPKG(Debian系列)、yum(RedHat系列)或APT(Debian系列)和Tarball。由于rpm、yum等的安装方式都非常简单,在这里就不再详述了,就举
2013-07-13 22:21:48 2919
原创 初窥Linux 之 构建你的Linux“任务管理器”
在Windows下,大家肯定有用过任务管理器,特别是我们想看看我们的CPU的使用率、内存还剩下多少,又或者某个程序出现了异常还关闭不了时,大家肯定会使用任务管理器来强制结束这个程序。那么在Linux下有没有这样的工具呢?答案是肯定的,作为一个强大的操作系统,Linux怎么可能没有“任务管理器”呢?我们可以通过一系列的工具和命令来出色地实现我们在Windows中任务管理中所做的一切工作,构建一个Li
2013-07-10 14:42:26 9249 1
转载 C++编译器无法捕捉到的8种错误
C++是一种复杂的编程语言,其中充满了各种微妙的陷阱。在C++中几乎有数不清的方式能把事情搞砸。幸运的是,如今的编译器已经足够智能化了,能够检测出相当多的这类编程陷阱并通过编译错误或编译警告来通知程序员。最终,如果处理得当的话,任何编译器能检查到的错误都不会是什么大问题,因为它们在编译时会被捕捉到,并在程序真正运行前得到解决。最坏的情况下,一个编译器能够捕获到的错误只会造成程序员一些时间上的损失,
2013-07-09 13:40:32 3972
原创 初窥Linux 之 文件权限
一、用户与用户组为了更好地理解文件权限,我们需要先有用户和用户组的概念。因为在Linux里面,任何一个文件都具有“User(用户)、Group(用户组)及Others(其他用户)”3种身份的个别权限。1、用户和文件所有者的概念你用来登陆Linux主机的那个用户名就是一个用户,例如,root就是一个用户,而Linux上存在很多的用户。如果你在Linux上创建了一个文件,那么默认情
2013-07-08 10:14:42 3424 2
原创 初窥Linux 之 数据流重定向
一、什么是数据流重定向在说数据流重定向之前,先来说说数据流的概念吧。数据流分为三种:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr)。简单来说,标准输出指的是命令执行所回传的正确信息,而标准错误输出指的是命令执行失败后,所回传的错误信息。这些信息默认是打印在屏幕上的。那么什么时数据流重定向呢?从字面上理解就是改变数据流的流向,使之流
2013-07-07 12:15:55 13994 6
原创 二叉树常用操作算法集、解释及注意事项
二叉树是一种常用的数据结构,在程序中也经常需要使用二叉树,但是你所使用语言却并不一定提供了二叉树这种数据类型,所以为了方便使用,我们可以自己实现一个二叉树的数据类型。在需要时就像使用其他已定义的类型一样方便。下面给出一些本人写的算法和解释(基于C语言),希望对读者写一个二叉树数据类型有所帮助。0、递归的四条基本法则由于二叉树中的算法大多使用递归来实现,而且使用递归实现也
2013-07-06 11:59:07 9304 9
原创 提高程序运行效率的10个简单方法
对于每一个程序员来说,程序的运行效率都是一个值得重视,并为之付出努力的问题。但是程序性能的优化也是一门复杂的学问,需要很多的知识,然而并不是每个程序员都具备这样的知识,而且论述如何优化程序提高程序运行效率的书籍也很少。但是这并不等于我们可以忽略程序的运行效率,下面就介绍一下本人积累的一些简单实用的提高程序运行效率的方法,希望对大家有所帮助。注:以C/C++程序为例一、尽量变
2013-07-01 12:06:38 73641 45
linux下android apk反编译工具
2014-09-01
实现内存半自动释放的基类Object
2014-02-22
泛型链表——C语言实现
2014-01-24
TCP/IP高效编程-改善网络程序的44个技巧
2013-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人