- 博客(49)
- 收藏
- 关注
原创 Unix环境高级编程的学习环境的搭建
由于学习的需要, 必须在我的Linux下面搭建这样一个开发环境. (本人使用的操作系统是 Ubuntu 15.04LTS)1. 在网上下载书中源代码, 点此连接: 点击打开链接2. 解压文件按3. cd apue.3e4. make 在 make 的这个过程中一般会出错,后面显示 can't find -lbsd, 解决办法是添加 libbsd.a 的静
2015-10-19 16:26:58
1559
转载 C++ 使用模板类的原因
1、可用来创建动态增长和减小额数据结构2、它是类型无关的,因此具有很高的可复用性3、它在编译时而不是运行时检查数据类型,保证了类型安全4、它是平台无关的,可移植性5、可用于基本数据类型
2015-07-21 14:51:28
787
翻译 逆波兰式与波兰式
所谓逆波兰式表示法(Reverse Polish Notation,RPN),是一种数学表达式方法,在逆波兰中,所有操作符置于操作数的后面,因此也称为后缀表示法。逆波兰不需要括号来标识操作符的优先级。 举个例子,a+b,是一种中缀表达式,写成后缀表达式就是 ab+。再举一个例子,中缀表达式 (a+b)*c-(a+b)/e 的逆波兰式是: ab+c*ab+e/- 。 如果要将
2015-07-13 08:51:57
1365
原创 修改 Ubuntu 桌面分辨率
平常一般是在笔记本电脑上工作,有时由于笔记本屏幕太小,多打开几个应用就非常不方便,于是就连接到大屏液晶显示器,可是这样又会引发一个问题,就是连接到液晶显示器上后,由于屏幕只是等比放大,看着非常不舒服,且如果想同时打开几个应用,也是非常的不方便。不过,没关系,Ubuntu上可以修改屏幕分辨率,且十分简单,只需要两个命令即可,如下: 首先,在 终端上输入如下指令: xrandr
2015-07-13 08:03:03
6166
1
转载 内存对齐
解析内存对齐 Data alignment: Straighten up and fly right的详解Data alignment: Straighten up什么是字节对齐,为什么要对齐?关于内存中的数据对齐About Data Alignment
2015-07-05 11:34:59
535
转载 C++ 内联函数与宏
内敛函数和宏两者的相同之处是,在其出现的地方将代码替换,但是区别很大。 对于宏来说,C++中不赞成使用,除非程序中一定要使用宏时。宏只是在编译前(编译处理阶段)将程序中有关字符串替换成宏体,也不进行参数类型等的检查,容易出错。 对于内联函数来说,岂不是通过函数调用实现的,是在调用该函数的程序处将它展开,这是在程序的编译期间完成的,期间进行诸如类型检测等过程,减少了错误的发
2015-05-23 09:38:57
597
原创 C++ 静态成员和静态成员函数
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。使用惊涛成员变量可以实现多个对象之间的数据共享而不会破坏隐藏的原则,保证了安全性还可以节省内存。 静态成员的定义或生命要加个关键字 static。 静态成员可以用过双冒号来使用,即 ::。 静态成员不可在类体内进行赋值,因为它是被所有该类的对象所共享的。你在一个对象里给它赋值,其他对象里的该
2015-04-20 08:14:36
1756
原创 C++ 常变量
常变量的值为什么可以变化呢? 从计算机实现的角度看,变量的特征是存在一个以变量名命名的存储单元,在一般情况下,存储单元中的内容是可以变化的。对常变量来说,无非在此变量的基础上加上一个限定:存储单元中的值不允许变化。因此常变量又称为只读变量(read-only-variable)。 符号常量只是用一个符号代替一个字符串,在预编译时把所有符号常量替换为所指定的字符串,它没有类型
2015-04-10 13:52:59
732
原创 Bash comma 的一点妙用
Bash 的 comma operator 其实跟 C 语言的作用差不多,但还有几个特别有意思的用法: 1、依次计算用 comma operator 链接的几个表达式,但只取最后一个表达式的值,代码如下:let "t2 = (( a = 9, 15 / 3))"echo $t2 此时 a 的值为 9, 但 echo 语句返回值却是后一个表达式的值,即 5 2、The c
2015-03-16 17:21:41
675
转载 bash 中 $* 与 $@ 的区别与联系
shell中$*与$@的区别关于$* 和 $@的 一点 认识 同是菜鸟一起学习$*所有的位置参数,被作为一个单词.注意:"$*"必须被""引用.$@与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.注意:"$@"必须被引用.$@ $* 只在被双引
2015-02-28 09:40:49
646
转载 Linux Shell 参数替换
Bash 中的 $ 符号的作用是参数替换,将参数名替换为参数所代表的值。对于 $ 来说,大括号是可选的,即 $A 和 ${A} 代表同一个参数。 ${ } 带冒号的有下面几种表达式: ${parameter:-word} 如果 parameter 为 null 或者未设置,整个参数替换表达式值为 word (注意:这里是整个参数值替换,而不是参数 p
2015-02-27 15:54:10
1262
原创 Ubuntu 14.04 上简单安装 mysql
在 Ubuntu 系统上安装 mysql 还是很简单的(不用源码及二进制安装)。方法如下: sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 安装过程会提示设置密码神马的
2015-02-24 15:39:13
400
原创 VIM 技术练习
vim 的各种命令: hjkl(强烈推荐其使用光标,但不必需) :help 显示命令相关的帮助 1 各种插入模式 a 在光标后插入 o 在当前行后插入一个新行 O 在当前行前插入一个新行 cw 替换从光标所在位置后到一个单词结尾的字符 2 简单的移动光标
2015-02-14 17:22:08
543
原创 shell 的变量赋值 null value 与 unset 的本质区别
给一个变量赋 null value 跟用 unset 取消此变量的值,虽然在用 echo 命令时输出的是一样,如下: A= echo $A unset A echo $A 虽然上面运行显示结果十一样的,但赋 null value 与 unset 变量在一些进阶的变量处理上很是严格,如下: str= var=${
2015-02-09 15:11:13
4722
原创 Linux 系统的通配符与正则表达式
事实上,Linux 系统的通配符 (wildcard) 与正则表达式有很大的差别。在《鸟哥的私房菜》12 章中,鸟哥就特别强调,正则表达式 与 通配符是完全不一样的东西。因为 通配符 代表的是 bash 接口的一个功能,用与 linux shell 命令中(如文件名相关操作),而 正则表达式 则是一种字符串处理的表示方法,用于文本内容中的字符串搜索和替换等。通配符是 Linux系统本身救支持的,而
2015-01-12 10:55:07
698
转载 CentOS 6.X 查看Windows系统的 NTFS 文件 以及安装 SMplayer 观看视频的方法
CentOS 6.4 挂载NTFS分区 我的移动硬盘是NTFS分区的,而且是那个3.5寸的,当仓库使用。可是在CentOS里默认是不支持NTFS分区的,所以得自己去实现它,实现的方法也不是很复杂,使用rpmforge源安装ntfs-3g包就可以了。首先下载rpmforg,下载对应的版本,就是对应CentOS版本,还有32位与64位也要对应上。地址如下:http://pk
2014-12-22 17:29:19
1050
原创 第十三章 处理用户输入
命令行参数 读取参数 bash shell会将一些称为位置参数的特殊变量分配给命令行输入的所有参数。位置参数变量是标准的数字:$0是程序名,$1是第一个参数,$2是第二个参数,依次类推,直到第9个参数$9. 可在shell脚本中像使用其他变量一样使用$1变量。shell脚本会自动将命令行参数的值分配给变量。 如要输入更多的命令行选项,则在命令行
2014-08-23 11:32:25
512
转载 Windows 类书的学习心得
转载出处: http://www.blogjava.net/sound/archive/2008/08/21/40499.html
2014-08-19 16:46:42
581
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人