
GNU/Linux环境高级编程
站在巨人的肩膀上,学习《unix 高级环境编程》.用博客记录自己的It学习之路...
且漫CN
观古知今思进退,读书养志识春秋,商务地球号:qmcn0125
展开
-
如何查看静态库和动态库
如何查看静态库和动态库参考:How to handle dynamic and static libraries in Linux转载 2021-03-08 16:23:07 · 759 阅读 · 0 评论 -
使用Clion优雅的完全远程自动同步和远程调试c++
使用Clion优雅的完全远程自动同步和远程调试c++参考使用Clion优雅的完全远程自动同步和远程调试c++转载 2021-03-08 15:50:57 · 469 阅读 · 0 评论 -
on_exit()函数使用说明
摘要:本文描述的是Linux手册页中on_exit()函数的使用说明,使用on_exit()函数注册终止处理程序.原文来自:http://www.kernel.org/doc/man-pages/翻译 2014-10-02 21:41:25 · 2538 阅读 · 0 评论 -
exit函数使用说明
摘要:本文描述的是Linux手册页(3.73版本)中exit()函数的使用说明,使用exit()函数正常终止一个进程.原文来自:http://www.kernel.org/doc/man-pages/.翻译 2014-10-02 16:52:04 · 4836 阅读 · 0 评论 -
_exit()函数使用说明
摘要:本文描述的是Linux手册页中_exit()函数的使用说明,使用access函数终止进程.原文来自:http://www.kernel.org/doc/man-pages/.翻译 2014-10-02 21:43:23 · 3291 阅读 · 0 评论 -
atexit()函数使用说明
摘要:本文描述的是Linux手册页中atexit ()函数的使用说明,使用atexit()函数注册终止处理程序.原文来自:http://www.kernel.org/doc/man-pages/.翻译 2014-10-02 21:43:44 · 2648 阅读 · 0 评论 -
重定向编程 dup和dup2函数
重定向编程 dup和dup2函数 函数dup和dup2提供了复制文件描述符的功能。他们通常用于stdin,stdout或进程的stderr的重定向。一般来说,普通输出函数(如:printf),默认是将某信息写入到文件描述符为1的文件中,普通输入函数都默认从文件描述符为0的文件中读取数据。因此重定向操作实际上是关闭某个标准输入输出设备(文件描述符为0、1、2),而将另一个打开额普通文件的文件原创 2014-09-29 11:53:19 · 16267 阅读 · 2 评论 -
文件IO的基本操作(二)
文件IO的基本操作(二) 本文将介绍unix系统中,文件的基本读写操作,read、write和sleek函数.1.读取数据 read函数 在上一篇文章中,介绍了文章的打开,创建和关闭.打开文件后,该干嘛,该干嘛就干嘛呗.先来读取文件内容吧.头文件:#include定义函数: ssize_t read(int filedes,void *buf,size_t原创 2014-09-28 18:36:59 · 816 阅读 · 0 评论 -
文件IO的基础操作(一)
IO的基础操作问题:怎么访问文件 在磁盘上有一文件data.dat,我们该如何去访问它呢?(1)在unix系统中,可以使用函数(open),传递一个文件,系统打开文件,加载文件数据, 返回一个ID, ID:文件描述符号.filedescription (fd),每个程序执行的时候都有一个目录,存放打开的文件描述符号.(2)然后根据文件ID,得到数据.(3)最后, 传递ID告原创 2014-09-28 10:45:18 · 1014 阅读 · 0 评论 -
文件的基本概念
文件与流的基本概念 文件是具有永久性存储、按特定字节顺序组成的一个有序的,有名称的集合。在linux下,除了常规的文件外,目录、设备、管道也属于文件。 根据数据的存储方式,可以将文件分为二进制文件和文本文件。如图所示: 文本文件:ASCII文件,每个字节存放一个ASCII码字符,文本文件存储量大、速度慢,便于对字符操作。此类文件以EOF(读取文件时,经常用到)结束原创 2014-09-26 21:36:17 · 1908 阅读 · 0 评论 -
stat和fstat函数
stat()函数头文件:#include #include 定义函数:int stat(const char * file_name, struct stat *buf);函数说明:提供文件名字,直接一文件名问参数,获取文件对应属性。感觉一般是文件没有打开的时候这样操作。stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中。下面是stru原创 2014-09-05 21:23:29 · 1340 阅读 · 0 评论 -
同步内核缓冲区 sync、fsync和fdatasync函数
同步内核缓冲区 sync、fsync和fdatasync三个函数. 本文基于进程、内核和磁盘之间的数据传递不同步问题,举例讨论了write函数的在写入数据是出现的不同步问题,导致数据丢失,以及对UNIX系统中的sync、fsync和fdatasync三个函数进行了详细分析,最后分析了fflush()与fsync()函数的联系,加深对缓冲区的学习。原创 2014-09-29 16:30:46 · 2050 阅读 · 0 评论 -
文件控制 fcntl函数详解
摘要:本文主要讨论文件控制fcntl函数的基本应用.dup函数可以复制文件描述符,而fcntl函数与dup函数有着异曲同工之妙.并且还有更加强大的功能,可以获取或设置已打开文件的性质,操作文件锁.原创 2014-09-30 19:58:02 · 2364 阅读 · 0 评论 -
Linux程序存储结构与进程结构 堆和栈的区别
摘要:本文主要讲述了Linux系统中,程序存储结构(代码区、数据段和BBS区)与进程的基本结构(代码区、数据段、BBS区、堆和栈),以及堆和栈的区别.原创 2014-10-03 16:50:05 · 2189 阅读 · 0 评论 -
进程资源和进程状态 TASK_RUNNING TASK_INTERRUPTIBLE TASK_UNINTERRUPTIBLE
摘要:本文主要介绍进程资源和进程状态.进程资源由两部分组成:内核空间进程资源以及用户空间进程资源.进程状态,就绪/运行状态、等待状态(可以被中断打断)、等待状态(不可以被中断打断)、停止状态和僵死状态.原创 2014-10-10 10:43:46 · 5227 阅读 · 1 评论 -
进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
摘要:本文主要介绍进程的基本属性,基本属性包括:进程ID、父进程ID、进程组ID、会话和控制终端.原创 2014-10-10 11:10:04 · 6548 阅读 · 0 评论 -
创建进程 fork()函数的基本使用 父子进程之间的关系
摘要:本文详解介绍fork()函数的基本使用,以及父子进程之间的关系.子进程对变量的改变不会影响到父进程、子进程对父进程文件流缓冲区的处理和子进程对父进程打开的文件描述符的处理.原创 2014-10-10 11:19:52 · 9650 阅读 · 0 评论 -
回收内核空间资源 wait函数 waitpid函数
摘要:本文主要讲述内核空间资源的收回,分析了wait和waitid函数的基本使用方法,以及它们之间的差异.原创 2014-10-10 12:03:21 · 1708 阅读 · 0 评论 -
setpgid()、getpgid()、setpgrp()和getpgrp()函数的使用说明
本文描述的是Linux手册页中setpgid()、getpgid()、setpgrp()和getpgrp()函数的使用说明.原文来自:http://www.kernel.org/doc/man-pages/.setpgid()、getpgid()、setpgrp()和getpgrp()函数NAME setpgid()、getpgid()、setpgrp()和getpgrp()函数翻译 2014-10-10 12:09:40 · 8737 阅读 · 1 评论 -
在进程中运行新代码 execl、execle、execlp、execv、execve和execvp函数
摘要:本文主要讲述如何在进程中运行新代码,以及exec系列函数的基本使用方法.用函数fork创建子进程后,如果希望在当前子进程中运行新的程序,可以调用exec函数执行另一个程序.原创 2014-10-10 12:46:59 · 5044 阅读 · 3 评论