gcc 编译报错 multiple definition of xxx
在 Linux 系统上编译程序有时会遇到 multiple definition of xxx 的错误,这类错误通常是由于代码编写不规范,同一个变量重复定义导致,这类代码在低版本的 gcc 编译器可能不会报错,而升级了编译器版本之后就会报错...继续阅读
在 Linux 系统上编译程序有时会遇到 multiple definition of xxx 的错误,这类错误通常是由于代码编写不规范,同一个变量重复定义导致,这类代码在低版本的 gcc 编译器可能不会报错,而升级了编译器版本之后就会报错...继续阅读
smem 是 Linux 平台上一个非常好用的内存使用统计工具,能够统计出进程的 uss,pss,rss 内存占用情况,尤其对于 uss,它是去除共享库之后的内存占用情况,能够反映一个进程真实的内存占用。此外,smem 也能够按用户进行统计...继续阅读
在编译其他程序时有时会遇到依赖 perl lib 库的情况,正常 yum 安装 perl-devel 就够了,但是某些程序比如 PostgreSQL --enable-perl 选项打开时,需要依赖 perl 动态库,否则可能会报错,如下:...继续阅读
linux 环境下进程对资源的使用通常是不受控制的,极端情况下进程将主机所有资源耗尽,导致系统 hang 住,运维人员无法登录主机,即使能够登录上去,操作也无响应。通过 linux cgroup 机制可以限制进程的资源使用率,进程与进程之间...继续阅读
1. 克隆仓库git clone urlgit clone -b dev url // 克隆并切换到 dev 分支2. 分支操作(1)创建本地分支git branch test(2)创建远程分支,如果远程分支不存在,提交本地分支test到...继续阅读
systemctl 其功能是用于管理系统服务。从 RHEL/CentOS7 版本之后初始化进程服务 init 被替代成了 systemd 服务,systemd 初始化进程服务的管理是通过 systemctl 命令完成的,从功能上涵盖了之前 ...继续阅读
tar.gz 是 linux 平台比较常见的压缩包格式,下面介绍使用 tar 命令打包和解压 tar.gz 格式的文件。打包文件:tar czvf file.tar.gz file.log打包文件夹:tar czvf file.tar.gz...继续阅读
本文简单介绍 linux 平台上使用 gdb 工具进行程序调试的常用命令使用方法。在使用 gcc 编译程序时一般加上 -g 参数,对于 Makefile 或者 CMakefile 方式编译时,应当加上 --enable-debug 或者类似...继续阅读
服务器网卡带宽主流为千兆和万兆两种,通过 ethtool 工具可以查看某个网卡的带宽。比如 ethtool eth0,输出结果通常包含如下两种:Speed: 1000Mb/sSpeed: 10000Mb/s可以通过 iperf 命令检测网卡...继续阅读
1. shell 参数$0 表示程序名$1~$9 表示位置参数,超过 9 个参数时,使用 ${10} 形式$# 表示参数的个数$* 所有参数当作一个整体来使用$@ 把每个参数作为一个字符串来使用,可使用 for 循环来遍历下面来看一个示例:...继续阅读