Unix系统中nm命令展示目标文件符号的方法
在unix系统中,通过gnu开源gcc或者g++工具生成的目标文件(object file),可以用nm
、objdump
和readelf
这三个命令来查看。
之前在调试makefile文件的时候,链接动态库出错:libsrcpbl.so: undefined reference to 'gcProgramName'
。也就是变量gcProgramName没定义,后来通过nm -u libsrcpbl.so
命令辅助排查解决了。
在unix系统中,通过gnu开源gcc或者g++工具生成的目标文件(object file),可以用nm
、objdump
和readelf
这三个命令来查看。
之前在调试makefile文件的时候,链接动态库出错:libsrcpbl.so: undefined reference to 'gcProgramName'
。也就是变量gcProgramName没定义,后来通过nm -u libsrcpbl.so
命令辅助排查解决了。
昨天在自己的CentOs7.1上写makefile的时候,发现在一个C程序在编译并链接一个已生成好的lib动态库的时候出错。链接命令大概是这样的:
/usr/bin/ld: cannot find -lmyhello collect2: error: ld returned 1 exit status好久没更新博客了,写篇文章除除草。这篇文章主要通过简单的例子说明一下Unix/Linux进程中如果捕捉和处理SIGTERM
、SIGUSR1
和SIGUSR2
信号。
先说明一下这三个信号:
SIGTERM:进程终止信号,效果等同于*nix shell中不带-9的kill命令; SIGUSR1:保留给用户使用的信号; SIGUSR2:同SIGUSR1,保留给用户使用的信号。在上一篇文章讲述了如何在Linux系统中配置BitBucket、GitHub和Coding这三个平台的git账户,这篇文章就分享如何通过shell脚本定时获取自己的CentOS7.1服务器上的备份文件,然后使用git命令同步到这三个平台仓库上。
目前自己主要在BitBucket、GitHub和Coding这三个Git平台创建了一些项目,所以这篇文章以自己的CentOS7.1服务器作为示例,说说如何在Linux系统中配置不同平台的Git仓库,也即多git账户的配置。
类似于Windows机器上的git配置方法,在CentOS上也是一样的。通过设置Git全部变量的配置文件~/.ssh/config
和当前工作仓库的配置文件your_git_project_root/.git/config
即可。
这是《2015年博客升级记》系列文章的第八篇,同时也是这一系列文章的最后一篇,内容主要记录在Linux系统中如何使用shell脚本备份服务器上的博客程序(当然也可以是主机上的任何目录或者文件)。
前段时间在用Coding.net同步git仓库时,能正常使用非https的ssh协议,但是这两天在自己的Windows机器上push内容时,报如下图中的错误Permission denied (publickey).
: