美文网首页
三十天自制操作系统(16)

三十天自制操作系统(16)

作者: whatcanhumando | 来源:发表于2016-09-01 17:31 被阅读133次

    第29天

    为了缩小操作系统的大小,操作系统实际上很大一部份是由日文字库给撑大的。我们如果让操作系统自动能解压,那行可以将日文库变小,本书作者实现了这个功能。实际上我个人认为很没有必要,让操作系统原生支持压缩格式,也就是以时间换空间,在现在存储如此便宜的情况下已没有必要了。而且本书作都也没有详细讲解压缩算法。

    在C语言中有一些函数被称为标准函数 ,操作系统的作者都会实现这些函数,我们的这个操作系统也可以试着实现一些,其他都很简单,这里讲一下printf这种参数不固定的函数好何写

    #include <stdio.h>
    #include <stdarg.h>
    #include "apilib.h"
    
    int printf(char *format, ...)
    {
      va_list ap;
      char s[1000];
      int i;
    
      va_start(ap, format);
      i = vsprintf(s, format, ap);
      api_putstr0(s);
      va_end(ap);
      return i;
    }
    

    这种函数的声明使用了...。这是C语言的语法,用于定义不固定的参数。这部分的参数可以使用va_list获取。使用时需要用va_start进行初始化,然后用va_end扫尾。将一来一天都是写一些应用程序,我觉得没有多少看的必要。
    这本书就这样看完了。

    相关文章

      网友评论

          本文标题:三十天自制操作系统(16)

          本文链接:https://www.haomeiwen.com/subject/nwicettx.html