- 博客(18)
- 资源 (1)
- 收藏
- 关注
转载 linux 字符设备驱动简单总结
一、字符设备、字符设备驱动与用户空间访问该设备的程序三者之间的关系。 如图,在Linux内核中使用cdev结构体来描述字符设备,通过其成员dev_t来定义设备号(分为主、次设备号)以确定字符设备的唯一性。通过其成员file_operations来定义字符设备驱动提供给VFS的接口函数,如常见的open()、read()、write()等。 在Linu
2014-10-17 10:29:51
644
原创 *linux下数据库的访问与控制*
LINUX下数据库的访问与控制 2012-07-06 12:44:23 分类: Mysql/postgreSQL LINUX下数据库的访问与控制(MYSQL) 1、 现今典型的产品架构 #C/S架构:客户端/服务器 #B/S模式:浏览器/服务器 C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。
2014-10-13 10:56:36
716
转载 linux文件IO函数大全
unix中涉及文件IO的系统调用有:open、write、read、lseek、close。 先说说文件描述符的相关性质: 对于内核来说,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。 按照惯例,0(STDIN_FILENO): 标准输入 1(STDOUT_FILENO):标准输出 2(STDERR_FILENO):标准错误 这些
2014-10-12 18:09:51
775
转载 线程函数大全
索引: 1.创建线程pthread_create 2.等待线程结束pthread_join 3.分离线程pthread_detach 4.创建线程键pthread_key_create 5.删除线程键pthread_key_delete 6.设置线程数据pthread_setspecific 7.获取线程数据pthread_getspecific 8.获取线程标示符pthread_
2014-10-11 15:03:05
592
转载 *线程详解*
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪
2014-10-11 10:26:06
406
转载 linux进程间的通信详解
详细的讲述进程间通信在这里绝对是不可能的事情,而且笔者很难有信心说自己对这一部分内容的认识达到了什么样的地步,所以在这一节的开头首先向大家推荐著 名作者Richard Stevens的著名作品:《Advanced Programming in the UNIX Environment》,它的中文译本《UNIX环境高级编程》已有机械工业出版社出版,原文精彩,译文同样地道,如果你的确对在Linux下编
2014-10-11 09:47:16
408
转载 进程间通信之共享内存(一)
1.共享内存概述 共享内存允许两个或更多进程共享一给定的存储区。因为数据不需要在各个进程之间复制,所以这是最快的一种进程间通信方式。使用共享内存时的关键点在于如何在多个进程之间对一给定的存储区进行同步访问。 例如若一个进程正在将数据放入共享内存区,则在它做完这一操作之前,其他进程不应该去取这些数据。通常,信号量被用来实现对共享内存访问的同步。 2.函数说明 共享内存的实现分为4个
2014-10-10 17:17:05
511
转载 msgget()函数
msgget()函数被用来创建新的消息队列或获取已有的消息队列。其函数定义如下: 系统调用: msgget() 函数声明: int msgget ( key_t key, int msgflg ) 返回值: message queue identifier on success -1 on error: errno = EACCESS (permission denied) EEXIST
2014-10-10 16:44:14
1153
转载 msgctl()函数
通过msgctl()函数,我们可以直接控制消息队列的行为。它在系统库linux/msg.h 中的 定义是这样的: 系统调用: msgctl() 函数声明: int msgctl ( int msgqid, int cmd, struct msqid_ds *buf ) 返回值: 0 on success -1 on error: errno = EACCES (No read permi
2014-10-10 16:14:05
692
转载 msgsnd()函数 msgrcv()函数
msgsnd()函数 从函数名就可以看出,msgsnd()函数是用来向消息队列发送消息的。在linux/msg.h 它 的函数定义是这样的: 系统调用: msgsnd() 函数声明: int msgsnd ( int msqid, struct msgbuf *msgp, int msgsz, int msgflg ) 返回值: 0 on success -1 on error: er
2014-10-10 15:45:42
702
转载 Linux进程间通信
一、进程间通信概述 进程通信有如下一些目的: A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。 C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 D、资源共享:多个进程之间共享同样的资源。为
2014-10-10 10:39:02
422
转载 C语言文件操作函数大全
clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf 表头文件 #includ
2014-10-10 09:53:18
406
转载 fork与vfork的区别
fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 2. fork ()父子进程的执行次序不确定 vfork 保证子进程先运行,在调用exec 或exit 之前与父进程数据是共享的,在它调用exec 或exit
2014-10-10 09:52:40
378
转载 Linux进程管理
Linux进程 1 linux进程概述 进程简单的说就是一个程序一次执行的过程,它是一个动态的概念。按照教科书上的定义,进程是程序执行的实例,是linux的基本调度单位。 对于程序员来说,最重要的就是要区分进程和程序的区别,程序是指一段完成功能的代码,或者说是一个工具,它是一个静态的概念,而进程,它是动态的,比如,
2014-10-09 11:48:57
617
转载 递归算法理解
递归算法看起来比较简单,当总觉得没能领会到它的精髓,平常也没可以使用它。今天看到这篇文章,说的比较透彻: 1,递归与循环之间的关系 看过这样一道题,问,“程序结构化设计的三种基础结构,顺序、选择、循环是不是必须的?”当然,你知道这样一个论断,只要有这三种就足够了;但是能不能更少呢?答案是“可以”,原因就是递归能取代循环的作用,例如下面的对一个数组里面元素求和的函数:
2014-09-28 23:01:03
620
转载 深入理解递归函数的调用过程
下面是个关于递归调用简单但是很能说明问题的例子: [cpp] view plaincopy /*递归例子*/ #include void up_and_down(int); int main(void) { up_and_down(1); return 0; } void up_and_
2014-09-28 22:59:12
510
转载 c语言string函数详解
c语言string函数详解: @函数原型: char *strdup(const char *s) 函数功能: 字符串拷贝,目的空间由该函数分配 函数返回: 指向拷贝后的字符串指针 参数说明: src-待拷贝的源字符串 所属文件: [cpp] view plaincopy #include #include #include
2014-09-24 11:15:46
983
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅