自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夜影轩的专栏

和奋斗的人一起奋斗,让蜗居的人蜗居去吧.....

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

转载 线程属性(2)

五、线程的调度参数    函数pthread_attr_getschedparam 和pthread_attr_setschedparam分别用来设置和得到线程的调度参数。 名称::pthread_attr_getschedparampthread_attr_setschedparam功能:

2012-09-28 16:11:49 487

转载 线程属性(1)

一.线程属性   线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。 名称::pthread_attr_init/pthread_attr_destroy

2012-09-28 16:10:42 436

转载 进程的阻塞和挂起的区别(整理)

理解一:挂起是一种主动行为,因此恢复也应该要主动完成,而阻塞则是一种被动行为,是在等待事件或资源时任务的表现,你不知道他什么时候被阻塞(pend),也就不能确切的知道他什么时候恢复阻塞。而且挂起队列在操作系统里可以看成一个,而阻塞队列则是不同的事件或资源(如信号量)就有自己的队列。理解二:阻塞(pend)就是任务释放CPU,其他任务可以运行,一般在等待某种资源或信号量的时候出现。挂起(suspen

2012-09-25 09:55:05 1005

转载 信号的未决 阻塞 .

信号的“未决”是一种状态,指的是从信号的产生到信号被处理前的这一段时间;可以通过 int sigpending (sigset_t *set) 和 int sigismember (const sigset_t *set, int signum) 查看某个信号是未决的。   信号的“阻塞”是一个开关动作,指的是阻止信号被处理,但不是阻止信号产生。  信号的阻塞就是让系统暂时保留信号

2012-09-24 09:06:13 399

转载 fork vfork .

vfork用于创建一个新进程,而该新进程的目的是exec一个新程序。vfork与fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec(或exit),于是也就不会存访该地址空间。不过在子进程调用exec或exit之前,它在父进程的空间中运行。这种工作方式在某些UNIX的页式虚存实现中提高了效率(与上节中提及的,在fork之后跟随exec,并采用在

2012-09-24 08:51:18 574

转载 非局部跳转函数 setjmp 和 longjmp .

1. 非局部跳转函数 - setjmp 和 longjmp 函数   非局部指的是,这不是由普通C语言goto语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,   返回到当前函数调用路径上的某一个函数中。(简单点基本这样说:goto 语句用于同一个函数内跳转,   而 setjmp 和 longjmp的组合,不但可以实现函数内跳转,还可以实现函数间跳转)      特别注

2012-09-23 22:56:43 468

转载 如果依赖的库文件是由低版本gcc编译的怎么办 .

除了安装低版本的gcc外。可以在/usr/lib中添加对应的libstdc++.so.5试试。有时候它会自动创建libstdc++.so.6文件,所以在make之前要保证libstdc++.so.6没有在/usr/lib里。PS:使用ldconfig会自动创建libstdc++.so.6libstdc++.so.5下载地址:http://ishare.iask.sina.com.c

2012-09-23 22:54:45 789

转载 字符串转时间(time_t)

#include #include /** *      str为日期字符串 *      formatStr 为时间对应的格式, *      如2012-07-04 15:33:52对应的格式为%d-%d-%d %d:%d:%d */time_t string2time(const char * str,const char * formatStr){  s

2012-09-23 22:53:50 1959

转载 口令文件 getpwent()

#include #include struct passwd *getpwuid(uid_t uid);struct passwd *getpwnam(const char *name);#include #include #include #include struct passwd * getpwnam(const char *name){ stru

2012-09-23 22:53:04 518

转载 创建临时文件 tmpnam tmpfile tempnam mkstemp unlink

推荐使用 tmpfile mkstemp#include #include #include #include intmain(void){ FILE *pfile,*pfile2; int fileSize, readSize; char * fileBuff = NULL; char buff[128] = { 0 };/*****

2012-09-23 22:52:08 584

转载 时间相关 time() ctime time_t localtime() gettimeofday

1)求 时间差(精确到微秒) int gettimeofday (struct timeval *__restrict __tv,__timezone_ptr_t __tz);#include #include intmain(void){ int i=0; struct timeval tv,tv2; gettimeofday(&tv, NULL);

2012-09-23 22:50:30 1003

转载 rename() 解说

#include  int rename(const char *oldpath, const char *newpath);//重命名(1) 如果oldname为一个文件:如果newname已存在,而且是一个目录,则不能重命名。       如果newname已存在,而且是一个文件,则先将newname文件先删除,然后将oldname更名为newname。对oldna

2012-09-23 22:48:35 563

转载 深入fork

#include #include int main(void){ int i = 0; pid_t pid; printf("share ostream...."); for (i = 0; i <2; i++) { if ((pid = fork()) < 0) { printf("forkerror\n"

2012-09-23 22:47:03 366

转载 dup 与 dup2

1. 文件描述符在内核中数据结构 一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2), 0与进程的标准输入相关联,1与进程的标准输出相关联,2与进程的标准错误输出相关联,一个进程当前有哪些打开的文件描述符可以通过/proc/进程ID/fd目录查看。 下图可以清楚的说明问题:  进程

2012-09-23 22:45:36 393

转载 可重入和不可重入

这种情况出现在多任务系统当中,在任务执行期间捕捉到信号并对其进行处理时,进程正在执行的指令序列就被信号处理程序临时中断。如果从信号处理程序返回,则继续执行进程断点处的正常指令序列,从重新恢复到断点重新执行的过程中,函数所依赖的环境没有发生改变,就说这个函数是可重入的,反之就是不可重入的。众所周知,在进程中断期间,系统会保存和恢复进程的上下文,然而恢复的上下文仅限于返回地址,cpu寄存器等之类的

2012-09-23 22:43:40 452

转载 UNIX环境高级编程之信号

1、信号本质与来源信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可

2012-09-23 22:25:07 1993 2

转载 进程组,会话,作业

终端的问题涉及几个概念,那就是进程组,会话,作业,下面会分别进行介绍。会话包含了一系列的进程,这些进程按照不同的执行内容会组织成若干进程组,一个会话内的所有进程都必须是该会话首长进程的后代,这样就保证了这些进程都是由该会话首长进程直接或者间接开启的,只有这样的才能保证这些进程确实是在会话首长进程耳目视线之内的,同时,孤儿进程组不再受到会话首长进程的控制。作业:只有一个终端,但是有很多事情要

2012-09-21 20:19:22 891

转载 会话、进程组、进程个人理解

(1)进程必定属于一个进程组,也只能属于一个进程组。     一个进程组中可以包含多个进程。     进程组的生命周期从被创建开始,到其内所有进程终止或离开该组。     获取当前进程所在进程组ID使用函数getpgrp     创建或加入其他组使用函数setpgid(2)假设条件:pid1进程属于pgid1进程组;pid2属于pgid2进程组,并且是pgid2进程组组

2012-09-21 11:00:17 480

转载 GNU 调试器简介

Linux 的大部分特色源自于 shell 的 GNU 调试器,也称作 gdb。gdb 可以让您查看程序的内部结构、打印变量值、设置断点,以及单步调试源代码。它是功能极其强大的工具,适用于修复程序代码中的问题。在本文中,David Seager 将尝试说明 gdb 有多棒,多实用。编译开始调试之前,必须用程序中的调试信息编译要调试的程序。这样,gdb 才能够调试所使用的变量、代码行和函数。

2012-09-20 22:03:23 596

转载 如何使用gcc编译器

摘要: 要想读懂本文,你需要对C语言有基本的了解,本文将介绍如何使用gcc编译器。首先,我们介绍如何在命令行方式下使用编译器编译简单的C源代码。然后,我们简要介绍一下编译器究竟作了那些工作,以及如何控制编译过程。我们也简要介绍了调试器的使用方法。 GCC rules你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器

2012-09-20 22:02:16 488

转载 实际用户ID,有效用户ID,保存-设置-用户ID

如果当前进程具有超级权限则:调用setuid(uid)时,该进程可以将自己的:实际用户id,有效用户id,保存的set-user-id设置成其参数uid的值。既是说,特权用户进程可以将自己改变成任意进程。如果当前进程是非特权用户则:调用setuid(uid)时,如果uid是其实际用户id或保存的set-user-id,就把有效用户id设置成uid的值;如果uid不等于这两个值则将e

2012-09-19 14:40:50 881

转载 有效用户ID、实际用户ID

实际用户ID,有效用户ID和设置用户ID     看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解。今天好好区分了一下这几个概念并总结如下。说白了这几个UID引出都是为了系统的权限管理。     下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用户ID。另外用户ID是个整型数,为了说明方便真接使用了

2012-09-19 11:33:32 909

中兴N986刷机教程支持G网

本教程已经成功实践过,绝对可以用!主要用于中兴N986手机!

2013-09-08

2013中兴捧月杯“无线协议栈仿真”

本次任务是第五届中兴杯月杯的最终源码 其中本人已经进入决赛 其中开发语言是Qt 直接可以运行并包括源码和可执行文件

2013-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除