TypeCodes

升级博客文章同步微博的插件:PHP正则提取Markdown的图片地址

作为一个微博控,为了把博客的文章同步到新浪微博上,BZ在新浪微博开放平台申请了一个应用。然后在自己的CentOS服务器上,利用官方PHP SDK搭了个服务端应用。这样通过博客插件作为请求客户端,调用相关API接口把文章同步到微博上。微博发布后,会显示来源,也即应用名称(如下图BZ的是TypeCodes)。

博客文章同步到新浪微博的效果

- 阅读剩余部分 -

解决make编译链接动态库错误:libxx.so: undefined reference to xx

最近在写一个Makefile,调试时遇到了libsrcpbl.so: undefined reference to gcProgramName的问题。在这个Makefile脚本里面,终极目标是通过链接一个自定义的动态库libsrcpbl.so生成一个ELF目标文件。

由于链接生成libsrcpbl.so动态库的.o文件比较多,无法定位具体的错误程序文件和位置,所以折腾了较长时间。

- 阅读剩余部分 -

Unix系统中nm命令展示目标文件符号的方法

在*nix系统中,通过gnu开源gcc或者g++工具生成的目标文件(object file),可以用nmobjdumpreadelf这三个命令来查看。

nm:显示目标文件中的符号;
objdump:打印目标文件中的详细信息;
readelf:显示关于 ELF 目标文件的信息。

之前在调试makefile文件的时候,链接动态库出错:libsrcpbl.so: undefined reference to 'gcProgramName'。也就是变量gcProgramName没定义,后来通过nm -u libsrcpbl.so命令辅助排查解决了。

- 阅读剩余部分 -

Unix系统进程对SIGTERM、SIGUSR1和SIGUSR2信号处理

好久没更新博客了,写篇文章除除草。这篇文章主要通过简单的例子说明一下Unix/Linux进程中如果捕捉和处理SIGTERMSIGUSR1SIGUSR2信号。

先说明一下这三个信号:

信号(signal)是*nix系统中进程之间通信(IPC)的一种常见方式。
SIGTERM:进程终止信号,效果等同于*nix shell中不带-9的kill命令;
SIGUSR1:保留给用户使用的信号;
SIGUSR2:同SIGUSR1,保留给用户使用的信号。

- 阅读剩余部分 -