Sharing makes me happy !

2015-12-14
C++标准库智能指针的作用&不足&改进

C++标准库智能指针的作用&不足&改进

本文主要讲述:

  • C++标准库的智能指针的作用与不足
  • 针对标准库智能指针的不足,改造智能指针

C++标准库的智能指针的作用与不足

作用

在介绍之前,先抛出一个问题:为什么要用智能指针?举个例子:

阅读更多

2015-12-09
nohup &与daemon进程

nohup &与daemon进程

我们先来了解下后台进程的定义,顾名思义,在后台运行的进程,那么什么叫前台进程呢?
举个例子:在Terminal运行./command -arg1=xxx,在进程没有结束之前,终端都挂起,不能做其它的事情,
这样的进程我理解为前台进程,对应的在后面加一个‘&’(./command -arg1=xxx &)
也就是后台进程了,暂时先介绍到这里。

阅读更多

2015-11-20
git客户端设置网络代理

git客户端设置网络代理

本文主要介绍在有网络限制的情况下如何设置代理访问git远程仓库(包括ssh、http/https协议),git相关操作在其它博文中讲解。

推荐使用SSH协议,因为可以在github网站添加ssh key建立与本地的信任关系,pull/push等操作就不需要输入蛋疼的用户名密码了,当然,如果你喜欢输入密码或者本地SSH被屏蔽,那么就另当别论了。

使用http/https协议

使用此协议设置代理比较简单:

1
2
$ git config --global http.proxy http://xxx.com:8080
$ git config --global https.proxy http://xxx.com:8080

之所以要设置–global,这样才能修改~/.gitconfig,变成全局的,你的每一个branch都会生效。

阅读更多

2015-11-18
Makefile实例解析

Makefile实例解析

对于从事linux下C++开发的同学来说,makefile方面的知识是必不可少的。本文将选取一个实例来讲解makefile的运用方法,可能存在一些错误的地方,希望看到的同学批评指正,也借此抛砖引玉了:

一般来说,一个项目的后台服务部门至少包含一个公共的makefile文件,其中包含平台属性定义(比如32位/64位的判断等)、公共库目录(公共动态库、静态库的头文件目录、.o/.so文件生成目录等)、通用操作定义(all、clean、release等)…

本文适合对 Makefile 接触不多的同学阅读,其中涉及到的知识面比较窄,后面会慢慢完善!

公共 Makefile

以下是我选取的项目公共makefile文件,讲述将以注释的形式穿插在代码中,过程中会顺带讲些与makefile相关的内容:

阅读更多

2015-11-15
简明Vim练级攻略

简明Vim练级攻略

你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。
Vim the Six Billion Dollar editor

Better, Stronger, Faster.

学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。

我建议下面这四个步骤:

  1. 存活
  2. 感觉良好
  3. 觉得更好,更强,更快
  4. 使用VIM的超能力

当你走完这篇文章,你会成为一个vim的 superstar。

阅读更多