随笔分类 - Linux
摘要:1.动态库的创建 在Linux平台下利用gcc命令: 在Windows下使用VS:(我用的是2013) 选择Visual C++下的Win32控制台应用程序,然后按下确定,你会进入如下画面: 下一步 按下完成后,你将你要生成动态库的内容放入 之后编译后就会在项目文件夹下的DEBUG文件夹里生成动态库
阅读全文
摘要:首先聊这个话题,我们先了解两个函数: 1.printf函数 2.write函数 一.首先了解缓冲区的概念,Linux下的缓冲区分为以下三种: 1.全缓冲,顾名思义,除非你主动刷新缓冲区,不然只能等到缓冲区满,才能刷新缓冲区。比如写入磁盘。 2.行缓冲,当遇到'\n'时,刷新缓冲区,比如 C库函数。
阅读全文
摘要:fcntl函数原型: fcntl函数用于改变已打开文件性质,函数参数是可变参数: 第一个参数 fd 表示打开文件的文件描述符, 第二个参数是对应的功能指令,不同指令决定不同的后续参数。 fcntl 基本用途包括以下五点: 1.复制一个现有的描述符(cmd = F_DUPFD)。 2.获得/设置文件描
阅读全文
摘要:今天的任务是实现Linux 下shell 界面的实现。 我们知道,Linux 下的外部命令是bash进程通过生成出子进程去调用bin/bash 下的相关命令来执行的。 我们根据这一特性,对stdin 端输入的字符获取并剖析。 每次获取字符串,先剖析字符串,将其中用于分割的空格都变成 '\0' 并且将
阅读全文
摘要:学过进程通信的一定知道管道: 它可以当做是两个不同进程的共有资源,也可以说是进程通信的媒介之一。 管道可分为匿名管道 以及 命名管道。 管道的本质就是内核缓存,用于运输一个进程到另一个进程的数据流。 今天我们主要实现的是命名管道——其不像匿名管道只能用于有亲缘关系的进程。所以,命名管道的实现是通过函
阅读全文
摘要:僵尸进程和孤儿进程的由来,都要从一个伟大的函数说起——fork()。 fork()的作用就是创建一个该进程下的子进程,在其exit 或 exec之前,和他共享代码,以一个父进程的身份,完成以下工作: 1.分配标识符pid和PCB。 2.让子进程复制父进程的环境。 3.给子进程分配地址空间和资源。 4
阅读全文
摘要:每个在linux环境下编程过的人一定都用过vim,那你知道vim是什么的增强版吗? 1.其他的编辑器: linux下,vim是最常用也是最强大的文本编辑器。 除此之外,还有比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本
阅读全文

浙公网安备 33010602011771号