0%

什么是CMake

CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个库。 它用配置文件控制建构过程(build process)的方式和Unix的make相似,只是CMake的配置文件取名为CMakeLists.txt。CMake并不直接建构出最终的软件,而是产生标准的建构档(如Unix的Makefile或Windows Visual C++的projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake和SCons等其他类似系统的区别之处。 CMake配置文件(CMakeLists.txt)可设置源代码或目标程序库的路径、产生适配器(wrapper)、还可以用任意的顺序建构可执行文件。CMake支持in-place建构(二进档和源代码在同一个目录树中)和out-of-place建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake也支持静态与动态程序库的建构。

阅读全文 »

demo

  • CMakeLists.txt

    1
    cmake_minimum_required(VERSION 3.14)
    2
    3
    project(demo)
    4
    5
    set(CMAKE_CXX_STANDARD 11)
    6
    7
    add_executable(run main.cpp)
    阅读全文 »

从读完追风筝的人之后,开始去读小狗钱钱,菜场经济学,却都没有坚持下去,或许是心没有静下来吧,突然间,又翻到了看见,记得上次看看见还是在大三?大四,上次读的时候不太有深切的感觉,只觉得好写实,更亲近于我们底层人物。这次再读却只有一种感觉弥漫于我的内心,那就是真实。除了真实我找不到任何一个别的词来形容。这种真实的感觉过于真切,让我感觉仿佛我就是柴静。为什么会有如此真切的感觉?我想可能与现状有关吧。我突然觉得那个那个时期是一个幸运的时期,因为有这样一个敢于写实的记者,我不能说现在没有,而在于这个时期敢于写实的记者越来越少,压力越来越大,敢于写实的媒体也在日渐消失。看似现在能让我们发声的途径越来越多,但实际却是越来越少,我们不断的被障目。那些写实的文章一篇接一片的被和谐。我也庆幸柴静是一名存在于那个时期记者,因为我无法说服自己相信她能够在现在这个时期作出如此真实的报道,庆幸!因为:真正意义上的记者正在一个接一个的消逝…

《陪女儿在美国读书》- 吴军

本来预想2019上半年先把之前开的坑都填满,但却没想到在这本书稍稍开了头之后就停不下来,在来京的路上把这本书读完了。

虽然书名叫《陪女儿在美国读书》,但是书中也也介绍了位于英国的著名院校-「牛津大学」、「剑桥大学」。总体来说,我们必须承认世界上最好的大学都在美国。除了著名的Ivy League、更有Stanford UniversityMITJohns Hopinks University等一系列的世界名校,这些学校之所以能够位于世界顶级层次,原因有很多。

阅读全文 »

2018年总的来说是基本没有读什么书的,坑开了几个,但是一个也没有填满。 回想起上半年主要在忙毕设的事情,所以基本没有怎么读书。下半年开始读,工作了,确实没有那么多的时间了(借口),其实每天上下班地铁上的时光可以用来读书,但是没有全部把握住。

解忧杂货铺

想不起来这本书是什么时候开始看的, 不过比我之前读的其他文学书感觉更加有趣一些, 序言描述不虚。 这本书以一个奇特的角度和方式来书写故事,可惜的是我并没有看完。

创新者

这本书实在我参加新人入职培训时候,由迅雷CPO-吴疆先生所推荐,后来在网上搜索此书,并下载下来开始阅读。
这本书也是讲的互联网的发展史,不同的是,他从最早期的发展开始讲述,从最早期的差分分析器,到ATT、intel的成立,讲述的很细致。但是这本书却有一丝的直白,没有吴军博士的浪潮之颠那么充满趣味。不过从这本书中,我意识到美国人对知识产权的重视从很早就开始了,这一点我们不得不佩服,学习。相比而言,我们国人对知识产权的意识及其低下,国人知识产权意识的提高还有很长的路要走!

菜场经济学

我一直对这经济学有所好奇。 从吴军博士的浪潮之颠最后几章关于华尔街、高盛、摩根斯坦利的部分描述里,经济学就在我心里留下了痕迹,他们掌控着全球的经济走向,这么说可能是有些夸张,但是事实几乎就是这样,这本书由同事推荐,虽然语言、专业名词已经非常直白,但是我依然有读不懂的地方。不过之前部分疑惑的地方已经明了,后来因为补充计算机方面的知识就暂时搁置了下去,不过还是会坚持读完的。

The Linux Programming Interface

这本书也是由同事推荐,全英。以我的英文水平来说, 以我所读过的篇章来说,暂时没有什么较大的问题。 在我看过的章节中, 重新认识了Linux中的文件分布、内核的意义、功能。读得太少了!

少有人走的路

这本书是在参加校友会的时候,由以为学姐所推荐,英文名叫<<Take care of the soul>>, 后来在网上搜的时候,翻译名叫<<少有人走的路>>。这本书中解释了很少日常的行为,以及内心活动、性格特点。看这本书的时候会有一种豁然开朗的感觉,但是收获的却更多。这确实是一本好书!到现在我刚好读过半。

除此之外,还在看好几个博客: C++、Git、CMake..,还有知识星球。

相对而言,2018年开得坑较多,但是都没填完。 2019年不需要在开什么坑了,坚持把这些书看完,吸收其中的知识并提升自己的认知!

YouCompleteMe是vim一个著名的补全插件,前几天突然心血来潮想给自己的vim配置下ycm,看了很多教程,发现并好不用,然后查看作者官方的教程,按照作者的步骤来,好了很多,然后还是有些地方还是有坑,所以自己又摸索了一下,所以此篇文章基本还是作者的翻译吧。

** 网上有的教程是使用Vundle安装的,可能我的RP没有那么好,我用这个安装失败了**,所以还是按照步骤来吧~

1. 确认vim版本为7.4.1578及其以上以及对Python2和Python3的支持

在vim中,输入:version,输出如下:

  1. VIM - Vi IMproved 7.4
  2. 包含补丁: 1 - 1689
  3. 另外补丁: 8.0.0056
    其中7.4就是主要的版本 ,1689为次要版本,包含补丁必须高于1578
阅读全文 »

总的来说吧,2017年并没有怎么读书,也都忘了自己读了什么书。上半年忘了,下半年考研中,读了一部分的书,不知道为什么年末的时候突然又开始读当初自己读的网络玄幻小说,在前几天强行删掉了。觉得年末自己又开始轻浮了起来,是时候让自己静下来了。

<<看见>> - 柴静

没想到,中途突然看的看见却是我第一个2017年完整读完的书,书中的故事就是报道中的事,有时候觉得以柴静自己的视野来描写,感觉很贴切,并不知道用贴切这个词是否合适,想到那句讽刺柴静的话:柴静大概就是依靠拍摄社会底层来博取眼球的把(原话忘了),只是觉得现在的社会还是在浮躁,并没有真正意识到记者的使命,无论是大众或是众多的记者,都忘记了记者的意义。觉得柴静的离去是一种损失。
那天,读到他们在央视录完节目后,要听罗大佑唱光阴的故事,读到这一点,我就去听了一遍。奇特的感觉啊

(罗大佑版本)[http://music.163.com/song?id=5232465&userid=95229007]
(中国合伙人的版本)[http://music.163.com/song?id=26361010&userid=95229007]

<<白鹿原>> -陈忠实

这本书,不知道自己怎么就突然读到了,读完了。
不做评价!!!

<<自由在高处>> -熊培云

喜欢这本书,没读完,我会坚持读完了。

<<白说>> -白岩松

感觉这本书和自由在高处有这相同的色彩和特点。也挺好的。

回归自我!!!

在CentOS 7里边,除了iptables,多了一个firealld。之前并不怎么关注防火墙,甚至直接把防火墙从开机启动里移除了,真是个愚蠢的行为啊,后来每次ssh连上VPS之后,发现ssh被恶意测试了好多次,于是我不仅修改了ssh的默认端口,就开启了防火墙。

因为我对防火墙的操作较少,我也并不关注过多的操作,我只存了两个命令

增加端口

1
firewall-cmd --permanent --zone=public --add-port=端口号/tcp
2
firewall-cmd --permanent --zone=public --add-port=端口号/udp

其实UDP的这个,我很少用

移除端口

1
firewall-cmd --permanent --zone=public --remove-port=端口号/tcp
2
firewall-cmd --permanent --zone=public --remove-port=端口号/udp

后来每次重装过VPS之后,重新配置防火墙的时候,发现开的端口过多,写了个脚本

一个很简单的脚本,分享一下把

1
#!/bin/bash
2
#This file just add or remove port of firewalld
3
#first edition 2017-3-20
4
#add loop when add ports and remove ports 2018-1-13
5
#author    likilli
6
7
echo -e "请输入操作代码."
8
echo -e "1.添加防火墙端口      2.移除端口     3.列出已打开端口"
9
read -p "Plsease input: " choice
10
if [ "$choice" == "1" ]; then
11
	echo -e "Input "quit"  to terminate loop"
12
	
13
	while [ "$port_add" != "quit" ]
14
	do
15
		read -p "Please input the Port number you want to add: " port_add
16
		if [ "$port_add" == "quit" ]; then
17
			service firewalld restart
18
			exit 0;
19
		else
20
			firewall-cmd --permanent --zone=public --add-port=$port_add/tcp
21
		fi
22
    done
23
	
24
fi
25
26
if [ "$choice" == "2" ]; then
27
	echo -e "Input "quit" to finish loop too"
28
	
29
	while [ "$port_remove" != "quit" ]
30
	do
31
		read -p "Please input the Port number you want to remove: " port-_remove
32
		if [ "$port_remove" == "quit" ]; then
33
			service firewalld restart
34
			exit 0;
35
		else
36
			firewall-cmd --permanent --zone=public --remove-port=$port_remove/tcp
37
		fi
38
	done
39
fi
40
41
if [ "$choice" == "3" ]; then
42
	firewall-cmd --list-ports
43
	exit 0
44
fi

考完研之后的第一更,2018年的第一更,我回来了!!!

Tagbar是vim里边一个挺好用的插件,特别是写C\C++的时候,Tagbar能显示出所写代码的函数变量等等,
具体安装教程如下:

通过Vundle安装Tagbar

.vimrc文件里添加如下语句

1
Bundle 'majutsushi/tagbar'

然后打开vim,执行PluginInstall,稍后看到Done!字样时候,就表示安装完 成了,然后退出vim。

编辑.vimrc文件

添加下边语句

1
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
2
let g:tagbar_ctags_bin = 'ctags'
3
let g:tagbar_autofocus = 1
4
let Tlist_Show_One_File = 1
5
let Tlist_Exit_OnlyWindow = 1
6
let Tlist_Use_Right_Window = 1
7
8
map<F3> :TagbarToggle<CR> "将Tagbar映射到F3"

安装ctags

可能上述步骤执行完成之后,提示tagbar_ctags_bin =什么的,至于这个原因是什么我也不知道,但是我执行过下面这个命令之后就好了。

1
sudo apt install ctags

这篇文章来源于Linux Developer (http://www.linuxdeveloper.space/install-vim-powerline/ ),也可以说我是把上边的教程翻译了一下,若有有翻译不足之处,请大家海涵

使用PIP安装Powerline

  • 安装并更新PIP

    1
    sudo apt-get install python-pip
    2
    pip install --upgrade pip
    3
    pip install -U pip
  • 使用官方Github repo安装Powerline

  • 这条命令可在任何文件夹执行*

    1
    pip install --user git+git://github.com/Lokaltog/powerline

    把Powerline添加到Vim中

  • vimrc中添加下边语句

    1
    python from powerline.vim import setup as powerline_setup
    2
    python powerline_setup()
    3
    python del powerline_setup
    4
    5
    set laststatus=2
  • 上边的配置保存后,启动vim可能会提示python、、、那三条语句在此版本不适用,这是因为Ubuntu16+sudo apt-get install vim安装的vim只支持Python3,像YCMPowerline等插件都需要Python2的支持,解决方法如下*

  • 检查支持版本
    在shell中输入以下命令,若出现-python则表示不支持Python2,+python则表示支持;-python3表示不支持Python3,+python3则表示支持。

    1
    vim --version | grep python
  • 安装

    1
    sudo apt-get install vim-nox-py2

    也可安装vim-gtk-py2

  • 重置vim符号链接

    1
    sudo update-alternatives --config vim

    然后输入0按回车。现在输入$vim,打开的就是/usr/bin/vim.nox-py2这个vim版本

使用fontconfig配置Powerline 字体(推荐)

  • 下载最新版的Powerline符号字体

    1
    cd ~
    2
    wget https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf
  • 将下载的字体移动到字体文件夹中
    字体文件夹有:~/.fonts/,~/.local/share/fonts,/usr/local/share/fonts
    为保险起见,我们将字体文件复制到~/.local/share/fonts/

    1
    mv PowerlineSymbols.otf ~/.local/share/fonts/
  • 更新系统字体缓存

    1
    sudo fc-cache -f -v
  • 下载并移动对应的字体配置文件

    1
    wget https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
    2
    mkdir -p ~/.config/fontconfig/fonts.conf
    3
    mv 10-powerline-symbols.conf ~/.config/fontconfig/fonts.conf/

    命令执行完毕后,不需要重启终端,执行一下$vim即可