CMake之RPath

CMake之RPath

 

其实rpath并不是定义或者发明的,这个东西是linux的东西,为什么把它和CMake放在一起讨论呢?是因为鄙人之前一直用手写Makefile来管理和编译工程,但是如今使用CMake,结果发现编译出来的可执行文件的链接到绝对路径的动态库,这样可执行文件就不可以拷贝到别的机器执行了,而之前使用makefile就没有这个问题。

[xxx@localhost src]$ ld… 更多... “CMake之RPath”

CMake的CPack

CMake的CPack

 

CMake不仅可以用来管理工程,编译,安装,还可以制作安装包,安装包可以是压缩包还可以是rpm包。

下面利用一个简单的例子来解释如何使用CMake的cpack制作安装包

工程名 = Speaker

目录结构

Speaker +

             … 更多... “CMake的CPack”

linux的脚本的参数

linux的脚本的参数

运行linux脚本的时候可以传参数进去,那么在脚本里面怎么访问这些参数呢?

先说3个与之相关的内置变量

1. $0 $1 $2 ….

分别代表第一,第二,第三参数,后面的参数以此类推

$0代表的运行该脚本的使用的命令

2. $@

所有的参数

3. $#

参数的个数

下面的例子读取所有的参数,并且判断是否设置了debug和clean这2个参数。

debug=0
clean=0

echo $0

echo $# … 更多... “linux的脚本的参数”

linux bash关掉stdout和stderr

linux bash关掉stdout和stderr

linux的命令行执行一个命令的时候,会输出一些东西在终端,输出的东西有2类,一类是stdout(标准输出),另一类是stderr(标准错误输出),其作用是输出一些必要的信息和错误的信息,有时候,我们并不想看到这些东西,那么怎么做呢?

有两种方法,

1. 重定向stdout和stderr到 “&-”

2. 重定向stderr到st… 更多... “linux bash关掉stdout和stderr”

修改linux的默认的tcp的connect的timeout

修改linux的默认的tcp的connect的timeout

 

tcp 的 connect函数的作用是连接到服务器,但是这个函数有时候我们觉得它太久了,有时候太短了,那么你可能想调节这个时间,那么怎么调节呢?

这个需要配置内核,是不是需要重新编译内核呢?那倒不需要。

先看看当前的设置值吧:

$ cat /proc/sys/net/ipv4/tcp_syn_retries

在centos 7的系统,默认值是6… 更多... “修改linux的默认的tcp的connect的timeout”

Linux “too many open files”

Linux "too many open files"

遇到这个问题是因为你的程序打开的文件数(记住在linux中很多资源都被认为是文件,比较磁盘文件和socket)超过系统允许的最大值,在Centos中这个默认值是4096。要修改它,打开下面的文件

/etc/security/limits.conf

添加如下内容,保存

*         hard    nofile      500000
*         soft    nofile      500000
ro
更多... “Linux “too many open files””