随笔分类 -  Linux

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