摘要:若要编译的源文件为a.c$gcc a.c -fpic -shared -o liba.so即可生成so库,编译完成后,测试动态链接是否正常:$ldd main如果列出liba.so,那么应该是连接正常了。-fpic:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。-L.:表示要连接的库在当前目录中-ltest:编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.so来确定库的名称
阅读全文
摘要:转自:http://www.cnitblog.com/zouzheng/archive/2007/08/31/32691.html__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件1 #ifndef CLOBAL_H2 #define GLOBAL_H3 #include <stdio.h>4 int funca(void);5 i...
阅读全文
摘要:近来需要遇到一个时间转换问题,需要将格式为YYYY-MM-DD HH24:MI:SS的时间转换成从1970年1月1日零时到给定时间的秒数,实现方法如下: 时间的表现形式:2012-1-1 11:11:11 1 const char * date = "2012-1-1 11:11:11"; 2 3 time_t sec = 0; 4 struct tm tmp_tm; 5 memset(&tmp_tm, 0, sizeof(struct tm)); 6 sscanf(date, "%d-%d-%d %d:%d:%d", &tmp_tm.t
阅读全文