美文网首页
三十天自制操作系统(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