- 博客(15)
- 资源 (128)
- 收藏
- 关注
原创 如何编写一个shell脚本
本文结合大量实例阐述如何编写一个shell脚本。 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是
2010-11-26 19:07:00 35947
原创 Vim的分屏功能
本篇文章主要教你如何使用 Vim 分屏功能 分屏启动Vim使用大写的o参数来上下分屏。vim -on file1 file2 ...使用小写的O参数来左右分屏。vim -On file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏 关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q分屏上下分割当前打开的文件。Ctrl+W s上下分割,并
2010-11-25 18:31:00 25543
转载 Linux多线程编程详细解析----条件变量 pthread_cond_t
Linux操作系统下的多线程编程详细解析----条件变量1.初始化条件变量pthread_cond_init#include int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将由cattr中的属性值来决定。调用 pthread_cond_init函数时,参数catt
2010-11-24 11:30:00 39594 3
原创 C++纯虚函数 virtual =0
C++纯虚函数 virtual =0一、定义 纯虚函数是一种特殊的虚函数,它的一般格式如下: class { virtual ()=0; … }; 在许多情况下,在基类中不能对虚函数给出有意义有实现,而把它说明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。二、引入原因 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。 为了解
2010-11-24 09:51:00 52535 12
原创 C++箴言:理解typename的两个含义
<br />在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?<br /><br /> 相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为: template<class T>...... <br /><br /> 在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typenam
2010-11-23 20:57:00 3872
原创 C++巧用do...while(0)
C++中,有三种类型的循环语句:for、while、do...while在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。 但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性 1. do...while(0)消除goto语句 通常,如果在一个函数中开始要分配一些资源,然后在中
2010-11-23 17:15:00 3889 3
原创 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
一、 强制转型1) C 风格(C-style)强制转型: (T) exdivssion // cast exdivssion to be of type T 2) 函数风格(Function-style)强制转型使用这样的语法: T(exdivssion) // cast exdivssion to be of type T上面两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题,我
2010-11-19 13:24:00 3758
转载 vim encoding and font
一般的,vim打开中文文件时会出现乱码,原因比较复杂,不罗嗦了。直接讲解决办法 set fileencoding=gb18030 set fileencodings=utf-8,gb18030,utf-16,big5想看这样设置的原因吗?请继续。下文在网络中广泛流传vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(fileencodings)其中fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系
2010-11-17 20:03:00 6232
原创 Linux下的signal信号机制
在Linux中,要发送一个信号相当容易。程序员需要知道两个信息:要发送哪个信号,将这个信号发送给哪个进程。可以用 man 7 signal 找到一个可以利用的信号的列表。用户可以只将信号发送给用户自己的进程,也可以以root身份运行从而将信号发送给任意一进程。 程序员可以调用 int raise(int signo) 将一个信号发送给它自己。这个函数只带有一个参数,既要发送信号的编号。如:raise(SIGINT); raise(SIGKILL); 让人感兴趣的是函数 uns
2010-11-12 10:38:00 17504
原创 宏中"#"和"##"的用法
一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include#includeusing namespace std; #define STR(s) #s #define CONS(a,b) int(a##e##b) int main() { printf(STR(vck)); // 输出字符串"vck" printf("%d ", CONS(2,3)); // 2e3 输出:2000 return 0; } 二、当宏参数是另一
2010-11-12 09:43:00 4997
原创 指针数组与指向指针的指针
指针数组与指向指针的指针http://wlkc.gdqy.edu.cn/jpkc/portal/blob?key=173314 指针数组和数组指针的区别http://allew.blog.163.com/blog/static/3374389720094148449239/ 指针数组[组图]http://school.cnd8.com/c/jiaocheng/9212.htm 函数指针和指针函
2010-11-11 18:31:00 3982
原创 struct linger
TCP连接断开的时候调用closesocket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。linger结构体数据结构如下:struct linger{ int l_onoff; int l_linger;};有三种组合方式:第一种 l_onoff = 0; l_linger忽略 这种方式下,就是在closesocket的时候立刻返回,底层会将未发送完的数据发送完成后再释放资源,也就是优雅的退出
2010-11-11 17:16:00 4246
转载 关于SIGPIPE导致的程序退出
服务器关了正在连接的客户端socket_fd,客户端做出的反应过程当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不想客户端退出可以把SIGPIPE设为SIG_IGN 如: signal(SIGPIPE,
2010-11-11 17:08:00 4659
原创 vim 快捷键技巧总结
VIM REFERENCE MANUAL by Bram Moolenaarhttp://vimcdoc.sourceforge.net/doc/quickref.html#Q_viVIM 用户手册 - by Bram Moolenaarhttp://vimcdoc.sourceforge.net/doc/usr_03.html#03.8
2010-11-11 15:27:00 30023 1
原创 C++ list
Source:#include #include #include #include using namespace std; typedef list LISTINT; //创建一个list容器的实例LISTINTtypedef list LISTCHAR; //创建一个list容器的实例LISTCHARint main(void) { LISTINT listOne; //用LISTINT创建一个名为listOne的l
2010-11-09 15:08:00 4126
SecureCRT 7.0.2 For Mac 10.12.3 完美破解版
2017-04-04
FatJar打包工具
2014-02-28
Android MotionEvent 坐标获取
2013-04-07
亚马逊(Amazon)称霸电商的秘诀
2013-04-05
Android中visibility属性
2013-04-03
Android与js交互实例
2013-04-01
Google Play 应用内支付(In-app Billing V2 + V3)
2012-12-18
VMware 8安装Mac OS X 10.8 Lion系统及工具包
2012-10-30
VMware 8安装Mac OS X 10.7 Lion
2012-10-18
Android反编译工具包(升级)官方绿色版
2012-10-10
JSP 页面访问用户验证
2012-09-29
Android反编译工具
2012-08-21
Android 创建与解析XML Pull方式
2012-04-30
Android 创建与解析XML Dom方式
2012-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人