CMake之RPath
其实rpath并不是定义或者发明的,这个东西是linux的东西,为什么把它和CMake放在一起讨论呢?是因为鄙人之前一直用手写Makefile来管理和编译工程,但是如今使用CMake,结果发现编译出来的可执行文件的链接到绝对路径的动态库,这样可执行文件就不可以拷贝到别的机器执行了,而之前使用makefile就没有这个问题。
[xxx@localhost src]$ ld… 更多... “CMake之RPath”
IT夜班车
其实rpath并不是定义或者发明的,这个东西是linux的东西,为什么把它和CMake放在一起讨论呢?是因为鄙人之前一直用手写Makefile来管理和编译工程,但是如今使用CMake,结果发现编译出来的可执行文件的链接到绝对路径的动态库,这样可执行文件就不可以拷贝到别的机器执行了,而之前使用makefile就没有这个问题。
[xxx@localhost src]$ ld… 更多... “CMake之RPath”
CMake不仅可以用来管理工程,编译,安装,还可以制作安装包,安装包可以是压缩包还可以是rpm包。
下面利用一个简单的例子来解释如何使用CMake的cpack制作安装包
工程名 = Speaker
目录结构
Speaker +
 … 更多... “CMake的CPack”
下面的文字是摘自:
RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages
非常全面的用例子的方式解释各个rpm的命令参数,懒得翻译了,就直接上原文了。
RPM command is used for installing, uninstalling, upgrading, querying, listing, and … 更多... “RPM的安装,卸载,更新和查询”
linux的脚本的参数
运行linux脚本的时候可以传参数进去,那么在脚本里面怎么访问这些参数呢?
先说3个与之相关的内置变量
1. $0 $1 $2 ….
分别代表第一,第二,第三参数,后面的参数以此类推
$0代表的运行该脚本的使用的命令
2. $@
所有的参数
3. $#
参数的个数
下面的例子读取所有的参数,并且判断是否设置了debug和clean这2个参数。
debug=0
clean=0
echo $0
echo $# … 更多... “linux的脚本的参数”
Linux有个命令bc是用来当作你的计算器的
例如:
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1. 先说说基本的if的写法
linux的命令行执行一个命令的时候,会输出一些东西在终端,输出的东西有2类,一类是stdout(标准输出),另一类是stderr(标准错误输出),其作用是输出一些必要的信息和错误的信息,有时候,我们并不想看到这些东西,那么怎么做呢?
有两种方法,
1. 重定向stdout和stderr到 “&-”
2. 重定向stderr到st… 更多... “linux bash关掉stdout和stderr”
安装EPEL7
EPEL7几乎是CentOS必备的源:
$ sudo yum install epel-release
添加第三方的源
mosquito-myrepo是一个私人制作的第三方源,其中包含了fcitx输入法。
tcp 的 connect函数的作用是连接到服务器,但是这个函数有时候我们觉得它太久了,有时候太短了,那么你可能想调节这个时间,那么怎么调节呢?
这个需要配置内核,是不是需要重新编译内核呢?那倒不需要。
先看看当前的设置值吧:
$ cat /proc/sys/net/ipv4/tcp_syn_retries
在centos 7的系统,默认值是6… 更多... “修改linux的默认的tcp的connect的timeout”
遇到这个问题是因为你的程序打开的文件数(记住在linux中很多资源都被认为是文件,比较磁盘文件和socket)超过系统允许的最大值,在Centos中这个默认值是4096。要修改它,打开下面的文件
/etc/security/limits.conf
添加如下内容,保存
* hard nofile 500000
* soft nofile 500000
ro