
linux 应用程序编程
咕唧咕唧shuboLK
这个作者很懒,什么都没留下…
展开
-
关于Linux的线程休眠函数sleep/usleep/nanosleep/select
sleep:单位为秒,1秒usleep:单位为微秒,1/1000 秒 select:单位为微秒,1/1000 000 秒nanosleep:单位为毫微秒,也就是纳秒,1/1000 000 000 秒原创 2011-10-26 17:02:41 · 9188 阅读 · 1 评论 -
ldconfig提示is not a symbolic link警告的去除方法
错误提示:ldconfig ldconfig: /usr/local/lib/gliethttp/libxerces-c-3.0.so is not a symbolic link问题分析:因为libxerces-c-3.0.so正常情况下应该是一个符号链接,而不是实体文集件,修改其为符号链接即可解决方法:mv libxerces-c-3.0.so libxerces-c.原创 2011-10-26 21:25:48 · 61763 阅读 · 0 评论 -
关于Linux静态库和动态库的分析
1.什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。2.库的种类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经转载 2011-10-27 20:47:51 · 1559 阅读 · 0 评论 -
在Linux下改变进程的优先级
作者:曾宏安,华清远见嵌入式学院讲师。作为多任务的操作系统,Linux内核为每个创建的进程分配时间片并根据其优先级进行调度。当进程被创建时,其对应的task_struct里包含了四个优先级:struct task_struct {……int prio, static_prio, normal_prio;unsigned int rt_priority;…… };转载 2011-10-29 17:17:13 · 4542 阅读 · 0 评论 -
进程kill 失败
做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就会感觉到很矛盾,其它这也是正常的,通常有两种情况是不能kill掉的:一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当转载 2011-10-30 10:02:16 · 9415 阅读 · 0 评论 -
杀不死进程怎么办(by liukun321咕唧咕唧)
做linux开发的很多人都会遇到这个问题吧,上篇blog也提到过,原因主要有两个:一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。 下面就第二方面举个例子,进程处在内核态杀不原创 2011-10-30 10:40:04 · 3132 阅读 · 1 评论 -
warning: control reaches end of non-void function
用gcc编译一个程序的时候出现这样的警告:warning: control reaches end of non-void function它的意思是:控制到达非void函数的结尾。就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值。这时候,最好检查一下是否每个控制流都会有返回值。转载 2011-10-30 11:14:30 · 34202 阅读 · 0 评论 -
linux异步IO浅析
知道异步IO已经很久了,但是直到最近,才真正用它来解决一下实际问题(在一个CPU密集型的应用中,有一些需要处理的数据可能放在磁盘上。预先知道这些数据的位置,所以预先发起异步IO读请求。等到真正需要用到这些数据的时候,再等待异步IO完成。使用了异步IO,在发起IO请求到实际使用数据这段时间内,程序还可以继续做其他事情)。假此机会,也顺便研究了一下linux下的异步IO的实现。linux下主要转载 2011-11-28 11:15:11 · 2126 阅读 · 0 评论