建设银行网站转账,gta5买资产网站在建设,全国建设信息网官网,建网站当老板全部学习汇总#xff1a;GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 今天看一个半生不熟的小函数#xff0c;chdir。说半生不熟#xff0c;是因为这个接口一看就知道是什么功能。然而#xff0c;这个接口如何用可真就没啥想法了。 … 全部学习汇总GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 今天看一个半生不熟的小函数chdir。说半生不熟是因为这个接口一看就知道是什么功能。然而这个接口如何用可真就没啥想法了。 最早接触这样的一个接口自然还是perl学习的时候到了后面接触python也看到了类似的接口在os的模块之中。看起来归根结底大家追溯到的还是UNIX的这一套。 1. 这个功能属于库函数的类别。
2. 从设计的准则上这个是POSIX标准的接口linux可能实现有所不同。跟前面看到的接口有相同的描述了。
3. 看起来函数执行成功返回0失败的时候返回-1是一个较为常见的处理方式。或许是某种标准或者规范。
4. 这里提出来的根目录的疑问其实到了后面也就有一个大概的理解印证了。 1. 函数的接口功能就是切换工作目录其实跟命令中的cd应该是基本类似的。然而perl中的经典教程小骆驼中印象中提过很多perl中的接口也不见得跟unix的接口有啥对等关系。而cd的类似功能perl不会去实现。
2. 在标准方面这个是满足POSIX.1-2007之前看到的基本都是2008这还是第一次看到2007的标准。
3. 结合示范代码以及描述其实这个接口可以切换的目录还是很自由的。自然权限以及特殊的冲突状态还是得考虑的。 由此前面分析的代码也就有一个很好去理解的基础了。这个函数其实是一个死循环不断读取来自于终端的信息。如果判断出来是cd命令那么就切换工作目录。如果切换失败给出错误提示输出到stderr中。这样的处理过程是在不断进行的。 继续往下又是新的接口。倒是之前看过的fork不过这次看到的应该是一个全新的实现这样后续单独做这个分析。 从整个程序的设计结构来看其实是十分类似于嵌入式里面的一个简单的轮询处理的过程整个处理过程就是在不断扫描处理的过程。可能这个只是用来阐明这样的一个简单机制不然操作系统执行的时候必然会出现很多阻塞的情况。