![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
文章平均质量分 73
billfeller
https://github.com/billfeller
展开
-
Linux程序动态库加载优化
作者:zhanhailiang 日期:2014-10-26linux程序加载运态库流程简介linux从程序(program或对象)变成进程(process或进程),简单说来需要经过三步:fork进程,在内核创建进程相关内核项,加载进程可执行文件;查找依赖的.so,逐一加载映射虚拟地址;初始化程序变量;如下例通过strace查看pwd命原创 2014-10-26 16:45:57 · 1726 阅读 · 0 评论 -
undefined reference to `sin'问题解决
作者:zhanhailiang 日期:2014-10-25使用gcc编译如下代码时报“undefined reference to `sin'”:#include #include #include main () { double a = sin(1); exit (0);}[root@~/wade/codeReview/learningc/9]# g原创 2014-10-25 01:08:17 · 4206 阅读 · 0 评论 -
Linux C定时器使用
作者:zhanhailiang 日期:2014-10-25原理Linux为每个进程提供3种定时器:ITIMER_REAL: 以系统真实的时间来计算,它送出SIGALRM信号。ITIMER_VIRTUAL: 以该进程在用户态下花费的时间来计算,它送出SIGVTALRM信号。ITIMER_PROF: 以该进程在用户态下和内核态下所费的时间来计算,它送原创 2014-10-25 01:46:16 · 1313 阅读 · 0 评论 -
标准的Base64算法描述
作者:zhanhailiang 日期:2014-12-19算法描述:Base64要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。第一个字符通过右移2位获得第一个目标字符的Base64表位置,根据这个数值取到表上相应的字符,就是第一个目标原创 2014-12-19 23:30:22 · 1845 阅读 · 0 评论