2013年1月16日

Linux创建静态库和动态库

摘要: 第1步:编辑得到举例的程序--hello.h、hello.c和main.c; hello.h为该函数库的头文件。 hello.c是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!"。 main.c为测试库文件的主程序,在主程序中调用了公用函数hello。... 阅读全文

posted @ 2013-01-16 14:56 胡永光 阅读(115) 评论(0) 推荐(0) 编辑

用g++编译生成动态连接库*.so的方法及连接

摘要: 用g++编译生成动态连接库*.so的方法及连接 1、动态库*.so的编译 这里我们用到4个文件,它们分别为:SoDemoTest.h、one.cpp、two.cpp、three.cpp。它们的内容如下: SoDemoTest.h [cpp] view plaincopyprint? ... 阅读全文

posted @ 2013-01-16 14:50 胡永光 阅读(205) 评论(0) 推荐(0) 编辑

线程程序里不准使用fork ?

摘要: 其实这是 UNIX上C++程序设计守则3 准则3:多线程程序里不准使用fork 在多线程程序里,在”自身以外的线程存在的状态”下一使用fork的话,就可能引起各种各样的问题.比较典型的例子就是,fork出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里fork子进程.... 阅读全文

posted @ 2013-01-16 13:25 胡永光 阅读(212) 评论(0) 推荐(0) 编辑

sigsuspend 与sigwait 的区别

摘要: sigsuspend 与sigwait 的区别 sigsuspend(const sigset_t *mask):设置阻塞信号为mask,等待其他信号(除mask之外的信号)的发生,若信号发生且对应的handler已执行,则返回-1,并设置相应的errno(已发生的信号值)。 注意:sigsu... 阅读全文

posted @ 2013-01-16 13:24 胡永光 阅读(241) 评论(0) 推荐(0) 编辑

子进程和线程的区别

摘要: 1、相同点: (a)二者都具有ID,一组寄存器,状态,优先级以及所要遵循的调度策略。 (b) 每个进程都有一个进程控制块,线程也拥有一个线程控制块。 (c) 线程和子进程共享父进程中的资源;线程和子进程独立于它们的父进程,竞争使用处理器资源;线程和子进程的创建者可以在线程和子进程上实行某些控制,... 阅读全文

posted @ 2013-01-16 12:09 胡永光 阅读(175) 评论(0) 推荐(0) 编辑

导航